From owner-cvs-src Tue Feb 11 14:30:33 2003 Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C67E837B405; Tue, 11 Feb 2003 14:30:30 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B5A7743FBD; Tue, 11 Feb 2003 14:30:26 -0800 (PST) (envelope-from phk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h1BMUQbv079705; Tue, 11 Feb 2003 14:30:26 -0800 (PST) (envelope-from phk@repoman.freebsd.org) Received: (from phk@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h1BMUQPt079703; Tue, 11 Feb 2003 14:30:26 -0800 (PST) Message-Id: <200302112230.h1BMUQPt079703@repoman.freebsd.org> From: Poul-Henning Kamp Date: Tue, 11 Feb 2003 14:30:26 -0800 (PST) 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 X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-src@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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-src" in the body of the message