From owner-freebsd-questions@FreeBSD.ORG Thu Jan 27 00:40:37 2005 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3CF7716A4CF; Thu, 27 Jan 2005 00:40:37 +0000 (GMT) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 740AD43D49; Thu, 27 Jan 2005 00:40:36 +0000 (GMT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.13.1/8.13.1) with ESMTP id j0R0e8Y8041303; Wed, 26 Jan 2005 19:40:08 -0500 (EST) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)j0R0e8pY041300; Thu, 27 Jan 2005 00:40:08 GMT (envelope-from robert@fledge.watson.org) Date: Thu, 27 Jan 2005 00:40:08 +0000 (GMT) From: Robert Watson X-Sender: robert@fledge.watson.org To: Mike Tancsa In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Nick Pavlica cc: freebsd-performance@freebsd.org cc: freebsd-questions@freebsd.org Subject: Re: FreeBSD 5.3 I/O Performance / Linux 2.6.10 | Continued Discussion X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Jan 2005 00:40:37 -0000 On Thu, 27 Jan 2005, Robert Watson wrote: > While it's not for the feint of heart, it might be interesting to see > how results compare in 6-CURRENT + debugging of various sorts (including > malloc) turned off, and debug.mpsafevfs turned on. One possible issue > with the twe/twa drivers is that they are currently MPSAFE, so may see > substantial contention (and hence additional latency). The move to an > MPSAFE VFS will help with that a lot, I should think. And, if you're in the mood for hacking code, and promise not to use snapshots, try making vfs_subr.c:vn_start_write(), vfs_subr.c:vn_write_suspend_wait(), vfs_subr.c:vn_finished_write(), vfs_subr.c:vfs_write_suspend(), and vfs_subr.c:vfs_write_resume() into noop's. These calls are used to avoid some deadlock scenarios associated with snapshot generation, but they also introduce a small but non-trivial amount of overhead to a number of operations. Since you're set up to do some testing, knowing how much of that cost is from these operations should be quite interesting. Robert N M Watson