Messages in this thread | | | Date | Thu, 15 Sep 2005 16:13:57 -0400 | From | Benjamin LaHaise <> | Subject | Re: "Read my lips: no more merges" - aka Linux 2.6.14-rc1 |
| |
On Tue, Sep 13, 2005 at 09:04:32AM +0200, Eric Dumazet wrote: > I wish a process param could allow open() to take any free fd available, > not the lowest one. One can always use fcntl(fd, F_DUPFD, slot) to move a > fd on a specific high slot and always keep the 64 first fd slots free to > speedup the kernel part at open()/dup()/socket() time.
The overhead is easy to avoid by making use of dup2() and close() to keep the lowest file descriptors in the table free, allowing open() and socket() to always return 3 or 4.
Alternatively, the kernel could track available file descriptors using a tree to efficiently insert freed slots into an ordered list of free regions (something similar to the avl tree used in vmas). Is it worth doing?
-ben -- "Time is what keeps everything from happening all at once." -- John Wheeler - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |