Date: 05 Feb 2001 12:30:50 -0500
From: Randell Jesup <rjesup@wgate.com>
To: Matt Dillon <dillon@earth.backplane.com>
Cc: Matthew Jacob <mjacob@feral.com>, "Justin T. Gibbs" <gibbs@scsiguy.com>, Mike Smith <msmith@FreeBSD.ORG>, Dag-Erling Smorgrav <des@ofug.org>, Dan Nelson <dnelson@emsphone.com>, Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp>, arch@FreeBSD.ORG
Subject: Re: Bumping up {MAX,DFLT}*PHYS (was Re: Bumping up {MAX,DFL}*SIZ in i386)
Message-ID: <ybuelxdnik5.fsf@jesup.eng.tvol.net.jesup.eng.tvol.net>
In-Reply-To: Matt Dillon's message of "Sat, 3 Feb 2001 16:26:56 -0800 (PST)"
References: <Pine.LNX.4.21.0102031323080.27128-100000@zeppo.feral.com> <200102040026.f140QuD12547@earth.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Matt Dillon <dillon@earth.backplane.com> writes:
> This is a reasonable criticism, but putting aside the issue of bloating
> kernel stack useage from huge struct buf structures there is also the
> issue of whether any static limit is 'reasonable'.
Good point.
> The device driver API supports arbitrary raw read and raw write
> sizes, but nearly all the device drivers convert read() and write()
> calls to physio() calls, and those then convert the parameters
> to struct buf / VOP_STRATEGY() calls.
>
> There are only two solutions that I can see:
>
> (1) have the SCSI tape device code not convert raw reads and writes
> to VOP_STRATEGY calls and instead manage the KVA for the I/O via some
> other mechanism.
This seems rather painful and makes support for large IO's very
driver-dependant and confusing.
> (2) Modify the 'struct buf' b_pages[] array to instead be a pointer
> to an array. Include the original static array under another name
> for compatibility purposes and have the init code default to
> assigning b_pages to the original embedded static array.
>
> Then the physio code could be adjusted to dynamically MALLOC the
> necessary pages array if the static one in the supplied buffer is
> insufficient.
So, how reasonable is this? It seems like a pretty good solution,
but I'm far from up-to-speed on the internals here.
--
Randell Jesup, Worldgate Communications, ex-Scala, ex-Amiga OS team ('88-94)
rjesup@wgate.com
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ybuelxdnik5.fsf>
