Subject: Re: suggested small bufcache and vfs tuning changes
To: None <tech-kern@netbsd.org>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: tech-kern
Date: 03/22/2004 12:38:56
On Mon, Mar 22, 2004 at 10:43:11AM -0500, Thor Lancelot Simon wrote:
> On Mon, Mar 22, 2004 at 10:00:18AM -0500, Thor Lancelot Simon wrote:
> >
> > Having looked at (and instrumented) the I/O spreading rotor as it is in
> > your patch, I am not so sure it really does anything unless you happen
> > to have disks that can clear well upwards of 8,192 metadata operations
> > in a single second. I implemented a very simple form of automatic
> > tuning for the spreading, and it _seems_ to work as intended. I'm
> > attaching a patch.
> >
> > However, there are some significant caveats:
> >
> > 1) I am not _certain_ that all directory I/O appears in the syncer
> > worklists as the vnode, of type VDIR, for each directory. I have
> > read and reread the code but I would like more people to look at
> > this.
>
> Hm. I'm particularly unsure about this -- because when I run a benchmark
> that does two threads of heavy directory I/O, I see "dirburst" drop
> quickly to the minimum, even when I intervene with DDB and set it to the
> maximum. Are all these directory writes, too, going on the mount point's
> vnode? Or am I counting/tuning wrong in some other way?
Okay, running single- or two- thread extractions/removes of pkgsrc, I see
a consistent slight degradation of performance from the "rotor" patch I
sent, and "dirburst" always at 0x40, which is the minimum. Can anyone
offer an explanation of why? Given that I am seeing a total of only a
few hundred I/Os per second, I don't think a huge burst size as in Dan's
original patch is likely to change much of anything; so I am inclined to
regard this as a failed experiment, but I do not understand why.
--
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