cvs commit: src/sys/nfsserver nfs.h nfs_srvsock.c nfs_srvsubs.c
Robert Watson
rwatson at FreeBSD.org
Sun Mar 7 11:29:33 PST 2004
On Sun, 7 Mar 2004, Brian F. Feldman wrote:
> Alexander Kabaev <kan at FreeBSD.org> wrote:
> > kan 2004/03/07 08:28:31 PST
> >
> > FreeBSD src repository
> >
> > Modified files:
> > sys/nfsserver nfs.h nfs_srvsock.c nfs_srvsubs.c
> > Log:
> > Convert from timeout to callout API.
> >
> > Submitted by: rwatson
>
> Does this "fix" the 1KHz interrupts?
Unfortunately, no. That will require some changes to the NFS code, but
it's not clear how substantial changes are required. Right now, the
NFS/RPC code polls a workqueue to see if work needs to happen. With a bit
of restructuring, it could move to a more scheduled model, where it relies
on callout() to schedule things when they need to happen and maintains a
queue or heap of work items. One of the nice things about the callout
interface is that it makes the MPSAFE choice explicit to the consumer of
the interface...
Another problem with the NFS code is that each of these callouts requires
Giant; removing Giant from these callouts is another good thing to work
on.
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org Senior Research Scientist, McAfee Research
More information about the cvs-src
mailing list