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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux