From owner-freebsd-hackers@FreeBSD.ORG Wed Nov 5 07:30:23 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BDE9916A4CE for ; Wed, 5 Nov 2003 07:30:23 -0800 (PST) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id C6BF243FEC for ; Wed, 5 Nov 2003 07:30:22 -0800 (PST) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.9p2/8.12.9) with ESMTP id hA5FSiMg084268; Wed, 5 Nov 2003 10:28:44 -0500 (EST) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)hA5FSccp084261; Wed, 5 Nov 2003 10:28:44 -0500 (EST) (envelope-from robert@fledge.watson.org) Date: Wed, 5 Nov 2003 10:28:38 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org To: Igor Sysoev In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-hackers@freebsd.org cc: Vivek Pai cc: Alan Cox Subject: Re: Update: Debox sendfile modifications X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Nov 2003 15:30:23 -0000 On Wed, 5 Nov 2003, Igor Sysoev wrote: > As to worker kthreads I think it's better to queue aio operation as it > was made in src/sys/kern/vfs_aio.c:aio_qphysio(). One of the things that worries me about the proposal to use kernel worker threads to perform the I/O is that this can place a fairly low upper bound on effective parallelism, unless the kernel threads themselves can issue the I/O's asynchronously. In the network stack itself, we are event and queue driven without blocking--if we can maintain the apparent semantics to the application, it would be very nice to be able to handle that at the socket layer itself. I.e., not waste a thread + stack per "in-progress" operation, and instead have a worker or two that simply propel operations up and down the stack (similar to geom_up and geom_down). Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Network Associates Laboratories