From owner-freebsd-arch@FreeBSD.ORG Sat Jan 3 22:52:14 2004 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 21DB816A4CE; Sat, 3 Jan 2004 22:52:14 -0800 (PST) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8FF1243D2D; Sat, 3 Jan 2004 22:52:05 -0800 (PST) (envelope-from bde@zeta.org.au) Received: from gamplex.bde.org (katana.zip.com.au [61.8.7.246]) by mailman.zeta.org.au (8.9.3p2/8.8.7) with ESMTP id RAA02845; Sun, 4 Jan 2004 17:52:02 +1100 Date: Sun, 4 Jan 2004 17:52:01 +1100 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Scott Long In-Reply-To: <3FF7967A.1090401@freebsd.org> Message-ID: <20040104172940.L22231@gamplex.bde.org> References: <20040103.153644.107852018.imp@bsdimp.com> <3FF7967A.1090401@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: arch@FreeBSD.org Subject: Re: Simple patch: Make DFLTPHYS an option X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jan 2004 06:52:14 -0000 On Sat, 3 Jan 2004, Scott Long wrote: > M. Warner Losh wrote: > > My brother was talking to me about the problems he was having with > > scanners. Turns out that he needed to incrase DFLTYPHYS to 128k to > > make it work. I'd like to make this a simple option, but wanted to > > ask people about it first, for both DFLTPHYS and MAXPHYS. This would > >... > I'm really not comfortable with a patch like this. Changing the default > i/o size is better served as a per-driver tunable/sysctl, like it is in > aac(4). Right, except it's better served by drivers just supporting the maximum i/o size that the hardware can support, without any tunable or sysctl to break and complicate this support. > The key, though, is to ensure that the block system is actually > honoring the per-device disk.d_maxsize variable. I'm not sure if it is > right now. It at least used to work (up to MAXPHYS). The ad driver used a max i/o size of 128K until recently. This has rotted back to 64K for some reason (64K is encoded as DFLTPHYS in the non-dma case and as 64 * 1024 in the dma case). > Also, increasing MAXPHYS will lead to your KVA being chewed up quite > quickly, which in turn will lead to unpleasant panics. A lot of work > needs to go in to fixing this; increasing the value here has little > value even to people who shun seatbelts. Not all that quicky. MAXPHYS affects mainly pbufs, and there are a limited number of them (256 max?), and their kva is statically allocated. 256 times the current MAXPHYS gives 16M. This could easily be increased by a factor of up to about 8 without necesarily breaking things (e.g., by stealing 112MB from buffer kva using VM_BCACHE_SIZE if the default normal-buffer kva size is large (if it is small then there should be space to spare, else there would be no space to spare on systems with more RAM so that the buffer kva size is larger). Bruce