Re: [PATCH] improve the performance of large sequential write NFSworkloads

From: Steve Rago
Date: Fri Dec 18 2009 - 17:47:08 EST



On Fri, 2009-12-18 at 23:07 +0100, Ingo Molnar wrote:
> * Steve Rago <sar@xxxxxxxxxxxx> wrote:
>
> >
> > On Fri, 2009-12-18 at 20:41 +0100, Ingo Molnar wrote:
> > > * Steve Rago <sar@xxxxxxxxxxxx> wrote:
> > >
> > > > > Also, I don't think this needs to have a sysctl, it should just work.
> > > >
> > > > The sysctl is a *good thing* in that it allows the eager writeback behavior
> > > > to be tuned and shut off if need be. I can only test the changes on a
> > > > finite set of systems, so better safe than sorry.
> > >
> > > This issue has been settled many years ago and that's not what we do in the
> > > Linux kernel. We prefer patches to core code where we are reasonably sure they
> > > result in good behavior - and then we fix bugs in the new behavior, if any.
> > >
> > > (Otherwise odd sysctls would mushroom quickly and the system would become
> > > untestable in practice.)
> > >
> > > Ingo
> >
> > I don't disagree, but "that's not what we do" hardly provides insight into
> > making the judgment call. [...]
>
> I gave you an example of the problems that arise, see the last sentence above.
>
> > [...] In this case, the variety of combinations of NFS server speed, NFS
> > client speed, transmission link speed, client memory size, and server memory
> > size argues for a tunable parameter, because one value probably won't work
> > well in all combinations. Making it change dynamically based on these
> > parameters is more complicated than these circumstances call for, IMHO.
>
> So having crappy tunables is the reason to introduce even more tunables? I
> think you just gave a good second example of why we dont want sysctls for
> features like this.
>
> Ingo

The examples I cited are not tunables. They are characteristics of the
systems we use. I can't squeeze more than 1Gb/s out of my gigabit
Ethernet connection; I can't make my 2GHz CPU compute any faster; I am
limited by these components to the performance I can attain. Writing
software that performs well in all combinations, especially to take
advantage of the myriad of combinations, is difficult at best. The
tunable introduced in the patch is a compromise to writing a much more
complicated adaptive algorithm that most likely wouldn't have access to
all of the information it needed anyway.

Steve

> --
> 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/

--
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/