Re: [RFC][Resend] Make NFS-Client readahead tunable

From: Andrew Morton
Date: Thu Sep 18 2008 - 04:18:42 EST


On Thu, 18 Sep 2008 00:42:58 -0700 (PDT) Martin Knoblauch <knobi@xxxxxxxxxxxx> wrote:

> ----- Original Message ----
>
> > From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > To: Greg Banks <gnb@xxxxxxxxxxxxxxxxx>
> > Cc: Martin Knoblauch <knobi@xxxxxxxxxxxx>; linux-nfs list <linux-nfs@xxxxxxxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx
> > Sent: Thursday, September 18, 2008 5:13:34 AM
> > Subject: Re: [RFC][Resend] Make NFS-Client readahead tunable
> >
> > On Thu, 18 Sep 2008 11:42:54 +1000 Greg Banks wrote:
> >
> > > I think having a tunable for client readahead is an excellent idea,
> > > although not to solve your particular problem. The SLES10 kernel has a
> > > patch which does precisely that, perhaps Neil could post it.
> > >
> > > I don't think there's a lot of point having both a module parameter and
> > > a sysctl.
> >
> > mount -o remount,readahead=42
>
> [root@lpsdm52 ~]# mount -o remount,readahead=42 /net/spsdms/fs13
> Bad nfs mount parameter: readahead
> [root@lpsdm52 ~]# mount -o readahead=42 /net/spsdms/fs13
> Bad nfs mount parameter: readahead
>
>
> I assume the reply was meant to say that the correct way of introducing a modifyable readahead size is to implement it as a mount option ? :-)

Yes.

> I considered it, but it seems to be more intrusive than the workaround patch. It also needs changes to userspace tools - correct?

No. mount(8) will pass unrecognised options straight down into the
filesystem driver.

It's better this way - it allows the tunable to be set on a per-mount
basis rather than machine-wide.

Note that for block devices, readahead is a per-backing_dev_info thing
(and a backing_dev_info has a 1:1 relationship to a disk drive for sane
setups).

And the NFS client maintains a backing_dev_info, which appears to map
onto a server, so making the NFS readahead a per-backing_dev_info (ie:
per server) thing might make sense. Maybe nfs makes per-server information
manipulatable down in sysfs somewhere..

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/