Matthew Dillon wrote:
We added it basically because doing all the junk described in
previous postings in this thread in userland is a ridiculously huge
eyesore that doesn't scale and doesn't make sense when 5 minutes of
programming nets you a shiny new system call which does it all for you.
If you are worried about optimizing it (which kinda implies a system
call anyhow since you aren't doing a context switch for each descriptor),
worry about optimizing the kernel implementation of the system call
rather then optimizing the unoptimizable userland that eats 300ns+ per
descriptor to do the close() instead of the 10ns/descriptor that it
takes the kernel to do the close().
my thought exactly.
I also add that speed IS important in this case as I have seen MANY
programs that start up by closing the first 2048 descriptors "just in case"
and I've seen some that do it more than once as they move through to
daemon state. These programs have a slow startp due to this (not to mention
it's a pain to step past it all when debugging).
Julian
-Matt
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"