CVSROOT:        /cvs
Module name:    src
Changes by:     t...@cvs.openbsd.org    2009/08/20 09:04:24

Modified files:
        sys/conf       : files 
        sys/nfs        : nfs.h nfs_bio.c nfs_subs.c nfs_syscalls.c 
                         nfs_var.h nfs_vfsops.c nfs_vnops.c nfsmount.h 
                         nfsnode.h 
Added files:
        sys/nfs        : nfs_aiod.c 

Log message:
Rework the way we do async I/O in nfs. Introduce separate buf queues for
each mount, and when work is "found", peg an aiod to that mount todo the
I/O. Make nfs_asyncio() a bit smarter when deciding when to do asyncio
and when to force it sync, this is done by keeping the aiod's one two lists,
an "idle" and an "all" list, so asyncio is only done when there are aiods
hanging around todo it for us or are already pegged to the mount.

Idea liked by at least beck@ (and I think art@).
Extensive testing done by myself and jasper and a few others on various
arch's.

Ideas/Code from Net/Free.

OK blamb...@.

Reply via email to