Subject: Re: New device buffer queue strategy
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: tech-perform
Date: 09/04/2002 16:07:07
On Wed, Sep 04, 2002 at 09:40:42PM +0200, Manuel Bouyer wrote:
> On Wed, Sep 04, 2002 at 10:58:47AM -0400, Thor Lancelot Simon wrote:
> > It's trivial to see that this helps RAIDframe; the FS layer will only cluster
> > to MAXPHYS, which RAIDframe has to split up again, so that it is, in fact,
> > impossible to get a MAXPHYS-sized transfer out of RAIDframe.  It takes only
> > minutes to set up a RAIDframe configuration such that you can demonstrate for
> > yourself that the large number of transfers this generates is a serious issue
> > for disk performance.
> 
> I think the right fix for this is to make MAXPHYS variable per driver.
> As I said, SCSI drivers could then use a larger MAXPHYS and this could
> help a lot with modern hardware.

It could help a lot, but I think it would help most _in combination with_
transaction combining in disksort.  Combining transaction in disksort is
an inexpensive catch-all that can cure many ills: filesystems that generate
many small transactions, transactions that "aren't contiguous" from the point
of view of the FS/VM layer but that, at the device level, once you've sorted
the queue, actually are (e.g. transactions to different vnodes that actually
turn out to be physically adjacent on the disk), etc.  With a larger MAXPHYS,
the potential to help probably increases even more -- and the check is cheap,
so why not?

-- 
 Thor Lancelot Simon	                                      tls@rek.tjls.com
   But as he knew no bad language, he had called him all the names of common
 objects that he could think of, and had screamed: "You lamp!  You towel!  You
 plate!" and so on.              --Sigmund Freud