New file descriptor allocation code in FreeBSD
Xin LI
delphij at frontfree.net
Thu Jan 15 07:39:58 PST 2004
FYI, the performance difference caused by this commit is very impressive on
FreeBSD:
http://people.freebsd.org/~des/fdbench/
While porting this back to -STABLE and DragonFly is not trivial (many 5-ish
calls :( ), but I think it is worthy to have a look on it :)
----- Original Message -----
From: "Dag-Erling Smorgrav" <des at xxxxxxxxxxx>
<cvs-all at xxxxxxxxxxx>
Sent: Thursday, January 15, 2004 6:15 PM
Subject: cvs commit: src/sys/kern init_main.c kern_descrip.c sys_pipe.c
uipc_syscalls.c uipc_usrreq.c vfs_syscalls.c src/sys/sys filedesc.h
> des 2004/01/15 02:15:04 PST
>
> FreeBSD src repository
>
> Modified files:
> sys/kern init_main.c kern_descrip.c sys_pipe.c
> uipc_syscalls.c uipc_usrreq.c
> vfs_syscalls.c
> sys/sys filedesc.h
> Log:
> New file descriptor allocation code, derived from similar code
introduced
> in OpenBSD by Niels Provos. The patch introduces a bitmap of allocated
> file descriptors which is used to locate available descriptors when a
new
> one is needed. It also moves the task of growing the file descriptor
table
> out of fdalloc(), reducing complexity in both fdalloc() and do_dup().
>
> Debts of gratitude are owed to tjr@ (who provided the original patch on
> which this work is based), grog@ (for the gdb(4) man page) and rwatson@
> (for assistance with pxeboot(8)).
>
> Revision Changes Path
> 1.239 +2 -0 src/sys/kern/init_main.c
> 1.219 +285 -243 src/sys/kern/kern_descrip.c
> 1.163 +1 -0 src/sys/kern/sys_pipe.c
> 1.169 +4 -0 src/sys/kern/uipc_syscalls.c
> 1.114 +1 -1 src/sys/kern/uipc_usrreq.c
> 1.336 +3 -0 src/sys/kern/vfs_syscalls.c
> 1.54 +13 -6 src/sys/sys/filedesc.h
More information about the Kernel
mailing list