Date: Tue, 11 Feb 2003 14:30:26 -0800 (PST) From: Poul-Henning Kamp <phk@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/sys bio.h src/sys/geom geom_io.c geom_kern.c Message-ID: <200302112230.h1BMUQPt079703@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
phk 2003/02/11 14:30:26 PST
Modified files:
sys/sys bio.h
sys/geom geom_io.c geom_kern.c
Log:
Implement a bio-taskqueue to reduce number of context switches in
disk I/O processing.
The intent is that the disk driver in its hardware interrupt
routine will simply schedule the bio on the task queue with
a routine to finish off whatever needs done.
The g_up thread will then schedule this routine, the likely
outcome of which is a biodone() which queues the bio on
g_up's regular queue where it will be picked up and processed.
Compared to the using the regular taskqueue, this saves one
contextswitch.
Change our scheduling of the g_up and g_down queues to be water-tight,
at the cost of breaking the userland regression test-shims.
Input and ideas from: scottl
Revision Changes Path
1.30 +56 -11 src/sys/geom/geom_io.c
1.23 +0 -10 src/sys/geom/geom_kern.c
1.127 +9 -0 src/sys/sys/bio.h
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200302112230.h1BMUQPt079703>
