Re: Linux 2.6.29

Andrew Morton
2009-03-27T00:50:16Z

On Thu, 26 Mar 2009 17:27:43 -0700 (PDT) Linus Torvalds <torvalds@linux-foundation.org> wrote:

>
>
> On Thu, 26 Mar 2009, Andrew Morton wrote:
> >
> > userspace can do it quite easily. Run a self-tuning script after
> > installation and when the disk hardware changes significantly.
>
> Uhhuh.
>
> "user space can do it".
>
> That's the global cop-out.

userspace can get closer than the kernel can.

> The fact is, user-space isn't doing it, and never has done anything even
> _remotely_ like it.
>
> In fact, I claim that it's impossible to do. If you give me a number for
> the throughput of your harddisk, I will laugh in your face and call you a
> moron.
>
> Why? Because no such number exists. It depends on the access patterns.

Those access patterns are observable!

> If
> you write one large file, the number will be very different (and not just
> by a few percent) from the numbers of you writing thousands of small
> files, or re-writing a large database in random order.
>
> So no. User space CAN NOT DO IT, and the fact that you even claim
> something like that shows a distinct lack of thought.

userspace can get closer. Even if it's asking the user "what sort of
applications will this machine be running" and then use a set of canned
tunables based on that.

Better would be to observe system behaviour, perhaps in real time and
make adjustments.

> > Maybe we should set the tunables to 99.9% to make it suck enough to
> > motivate someone.
>
> The only times tunables have worked for us is when they auto-tune.
>
> IOW, we don't have "use 35% of memory for buffer cache" tunables, we just
> dynamically auto-tune memory use. And no, we don't expect user space to
> run some "tuning program for their load" either.
>

This particular case is exceptional - it's just too hard for the kernel
to be able to predict the future for this one.

It wouldn't be terribly hard for a userspace daemon to produce better
results than we can achieve in-kernel. That might of course require
additional kernel work to support it well.