Files
tegra-linux-noble/include/linux
David Howells 1fd36adcd9 Replace the fd_sets in struct fdtable with an array of unsigned longs
Replace the fd_sets in struct fdtable with an array of unsigned longs and then
use the standard non-atomic bit operations rather than the FD_* macros.

This:

 (1) Removes the abuses of struct fd_set:

     (a) Since we don't want to allocate a full fd_set the vast majority of the
     	 time, we actually, in effect, just allocate a just-big-enough array of
     	 unsigned longs and cast it to an fd_set type - so why bother with the
     	 fd_set at all?

     (b) Some places outside of the core fdtable handling code (such as
     	 SELinux) want to look inside the array of unsigned longs hidden inside
     	 the fd_set struct for more efficient iteration over the entire set.

 (2) Eliminates the use of FD_*() macros in the kernel completely.

 (3) Permits the __FD_*() macros to be deleted entirely where not exposed to
     userspace.

Signed-off-by: David Howells <dhowells@redhat.com>
Link: http://lkml.kernel.org/r/20120216174954.23314.48147.stgit@warthog.procyon.org.uk
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
2012-02-19 10:30:57 -08:00
..
2012-01-22 15:08:43 -05:00
2011-12-13 15:30:49 -05:00
2012-01-24 15:41:51 +02:00
2011-11-02 16:07:03 -07:00
2012-01-10 16:30:42 -08:00
2012-01-03 22:54:57 -05:00
2011-10-29 21:20:22 +02:00
2011-12-13 09:26:45 +00:00
2011-11-07 23:54:53 +01:00
2012-01-04 08:56:31 -06:00
2011-10-31 20:19:04 +00:00
2011-11-26 14:59:39 -05:00
2011-12-09 17:35:51 -08:00
2011-12-11 18:25:16 -05:00
2012-01-12 20:13:04 -08:00
2012-01-03 22:54:58 -05:00
2011-12-13 11:58:49 +01:00
2012-01-12 20:13:08 -08:00
2012-01-03 22:54:56 -05:00
2011-11-13 16:10:10 -05:00
2012-01-03 22:55:17 -05:00
2011-12-11 18:25:16 -05:00
2012-01-09 13:52:09 +01:00
2012-01-12 20:13:11 -08:00
2012-01-17 15:40:51 -08:00
2011-12-27 11:26:41 +02:00
2012-01-12 20:13:10 -08:00
2011-11-14 00:47:54 -05:00
2011-10-31 14:03:22 +01:00
2012-01-06 12:10:26 -08:00
2012-01-12 15:23:04 -08:00
2011-12-13 09:26:45 +00:00
2011-11-02 16:07:02 -07:00
2012-01-03 22:55:07 -05:00
2012-01-03 22:54:56 -05:00
2012-02-02 12:55:17 -08:00
2012-01-03 22:52:40 -05:00
2012-01-09 09:33:57 +09:00
2011-12-13 09:26:45 +00:00
2011-10-31 17:30:47 -07:00
2012-01-03 22:54:56 -05:00
2012-02-14 12:47:21 -08:00
2012-01-24 12:25:14 -08:00
2011-11-02 16:07:02 -07:00