Re: [PATCHv4 5/6] Allow setting O_NONBLOCK flag for new sockets

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Ingo Molnar <mingo@...>
Cc: Zach Brown <zach.brown@...>, Ulrich Drepper <drepper@...>, David Miller <davem@...>, <linux-kernel@...>, <akpm@...>, <tglx@...>, <torvalds@...>
Date: Tuesday, November 20, 2007 - 7:57 pm

Ingo Molnar wrote:

I guess I'm confused here... all I said was I wanted them to be 
systematic, and not need ad-hoc interfaces.  In particular, I really 
don't want to see an interface where "oh, the fifth parameter is really 
a flags field so it's passed with sys_indirect, and is only accessible 
via a sys_indirect" is the norm.

We don't have all that many; pselect() being the main one (I think there 
might be a handful more on 32-bit platforms, but not positive.)  It 
introduced the convention of pointing argument register 6 to a 
user-space data structure.  Simple, and as you correctly point out, it's 
a comparatively rare case.  In klibc, I currently handle it as a special 
case, but I would prefer to avoid special cases of that sort going forward.

Note that on s390, 6-parameter system calls are already a special case: 
anything with over 5 parameters is invoked via a memory structure.  This 
actually means that for pselect on s390, we indirect via a memory 
structure not once, but twice, for no good reason.

	-hpa

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCHv4 5/6] Allow setting O_NONBLOCK flag for new sock..., H. Peter Anvin, (Tue Nov 20, 7:57 pm)