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

From: Lennart Poettering
Date: Wed Nov 17 2010 - 17:34:35 EST


On Tue, 16.11.10 13:08, Linus Torvalds (torvalds@xxxxxxxxxxxxxxxxxxxx) wrote:

> So I do _not_ believe that the autogroup feature should necessarily
> mean that you cannot do other grouping decisions too. I just do think
> that the whole notion of "it got started from a tty" is actually a
> very useful thing for legacy applications, and one where it's just
> simpler to do it in the kernel than build up any extra infrastructure
> for it.
>
> So it's not necessarily at all an "either-or" thing.

As a last update to this messy discussion, here's a commit I made to
systemd which ensures that every user session by default gets its own
cgroup in the 'cpu' hierarchy.

http://cgit.freedesktop.org/systemd/commit/?id=74fe1fe36e35a26d764f1e3119d5f6d014db573c

And here's the one that does the same to ensure that every service
systemd manages gets by default its own cgroup in the 'cpu' hierarchy.

http://cgit.freedesktop.org/systemd/commit/?id=d686d8a97bd7945af0a61504392d01a3167b576f

And finally, here's bugzilla entry for a patch I prepped for
gnome-terminal's livte which creates a subgroup for each terminal widget
shown by the same g-t instance:

https://bugzilla.gnome.org/show_bug.cgi?id=635119

With this all together we get quite a bit further than with the kernel
patch, since we also cover all kinds of services, and treat user
sessions equal to each other, and even users. (i.e. user A cannot get
double the amount of CPU time simply by spawning double the amount of
processes or double the amount of session thatn user B).

This should fix things for people with systemd and GNOME. Yes, all
others are left in the cold. Sorry for that.

Lennart

--
Lennart Poettering - Red Hat, Inc.
--
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/