Re: [RFC/RFT PATCH v3] sched: automated per tty task groups

From: david
Date: Tue Nov 16 2010 - 14:09:22 EST


On Tue, 16 Nov 2010, Linus Torvalds wrote:

On Tue, Nov 16, 2010 at 10:16 AM, Lennart Poettering
<mzxreary@xxxxxxxxxxx> wrote:

Here's my super-complex patch btw, to achieve exactly the same thing
from userspace without involving any kernel or systemd patching and
kernel-side logic. Simply edit your own ~/.bashrc and add this to the end:

Right. And that's basically how this "patch" was actually tested
originally - by doing this by hand, without actually having a patch in
hand. I told people: this seems to work really well. Mike made it work
automatically.

Because it's something we want to do it for all users, and for all
shells, and make sure it gets done automatically. Including for users
that have old distributions etc, and make it easy to do in one place.
And then you do it for all the other heuristics we can see easily in
the kernel. And then you do it magically without users even having to
_notice_.

Suddenly it doesn't seem that wonderful any more to play with bashrc, does it?

agreed

That's the point. We can push out the kernel change, and everything
will "just work". We can make that feature we already have in the
kernel actually be _useful_.

User-level configuration for something that should just work is
annoying. We can do better.

Put another way: if we find a better way to do something, we should
_not_ say "well, if users want it, they can do this <technical thing
here>". If it really is a better way to do something, we should just
do it. Requiring user setup is _not_ a feature.

agreed, the question is if this really is a better way. It's definantly a change.

Now, I'm not saying that we shouldn't allow users to use cgroups. Of
course they can do things manually too. But we shouldn't require users
to do silly things that we can more easily do ourselves.

If the choice is between telling everybody "you should do this", and
"we should just do this for you", I'll take the second one every time.
We know it should be done. Why should we then tell somebody else to do
it for us?

this is good for desktop interactivity because it no longer treats all processes equally, it give more CPU to processes that are running 'stand-alone' then it will to processes that are forked off from one master process.

In the desktop case where you really want something like 'make -j64' to be in the background and not interfere with the other tasks, but what about the situation of a dedicated web server? on that box the apache processes will get less CPU because they will all be in one group, and other things that happen on the box will get more CPU as they will be in different groups.

Is this really the right change to make?

having an option to do this sounds like a wonderful idea, and I would expect that desktop distros would want to have it default to 'on', but should it really be a default?

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