Subject: Re: Single file system (buf) read size
To: Manuel Bouyer <bouyer@antioche.lip6.fr>
From: Chuck Silvers <chuq@chuq.com>
List: tech-kern
Date: 03/14/2001 05:34:11
On Wed, Mar 14, 2001 at 10:08:47AM +0100, Manuel Bouyer wrote:
> On Tue, Mar 13, 2001 at 09:51:30PM +0100, Ignatios Souvatzis wrote:
> > I wonder... wasn't there some driver specific routine to further limit the 
> > global setting?
> 
> foominphys(). But it's only called for raw disk I/O I think. Block I/O
> (especially filesystems) take another path, and are limited only by
> the MAXPHYS constant.
> 
> I think it should be possible to remplace the MAXPHYS constant with a
> per-device variable (in struct dkdriver() maybe) and get ride of the
> foominphys() function at all.
> I did (partially) such a thing once but I'm not sure how it'll work now with
> UBC.

honoring such a limit in UBC would require adding about 2 lines of code.
currently filesystems are arbitrarily limited to MAXBSIZE bytes per i/o,
so it would take some more changes to actually attempt larger i/os.
we get pretty close to raw disk speed doing sequential file i/o already,
so there's not a whole lot of performance to be gained on a single disk.
filesystems on top of striped ccd or raidframe devices could benefit, though.

-Chuck