Re: [patch 7/8] fdmap v2 - implement sys_socket2

From: Eric Dumazet
Date: Thu Jun 07 2007 - 16:06:03 EST


Davide Libenzi a écrit :
On Thu, 7 Jun 2007, Eric Dumazet wrote:

Davide, are you sure we want FIFO for non sequential allocations ?

This tends to use all the fmap slots, and not very cache friendly
if an app does a lot of [open(),...,close()] things. We already got a perf drop because of RCUification of file freeing (FIFO mode instead of LIFO given by kmalloc()/kfree())

If the idea behind this FIFO was security (ie not easy for an app to predict next glibc file handle), we/glibc might use yet another FD_SECUREMODE flag, wich ORed with O_NONSEQFD would ask to fdmap_newfd() to take the tail of fmap->slist, not head.

Uli, would it be OK to rely only on base randomization and use a LIFO instead? We have base randomization, plus LIFO does not mean strictly sequential like legacy allocator, just more compatc and cache friendly.


I am afraid randomization wont really work if /sbin/init or /bin/bash for example uses one (or more) unseq fd :
The 'random base' will be propagated at fork()/exec() time ?





-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/