pam: do not sort user sessions into their own cgroups in the 'cpu' hierarchy by default

While this offers quite a few benefits for normally scheduled processes
this breaks RT scheduling for all user processes, since we do not assign
an RT share to the cgroups created via this mechanism. If the user
cgroups have no RT share assigned no member process can make use of RT
functionality. However, software like JACK and PA/rtkit assume that RT
is available in some way or another, either via RLIMIT_RTPRIO or via
some privileged service. Creating implicit cpu cgroups but not adding
RT shares to them hence breaks these applications.

There is no sane way to implicitly add RT shares to these groups, since
they are pulled from a global, limited pool and it would hence be very
hard to make this work without limiting the number of concurrent
sessions, or constantly rewriting the cpu share settings of already
logged in session cgroups.

Most likely this issue needs to be fixed in-kernel because we can enable
this feature by default again.
This commit is contained in:
Lennart Poettering 2010-12-24 10:48:20 +01:00
parent 501c875bff
commit 5e4ef5e0d2

View File

@ -102,6 +102,7 @@ static int parse_argv(pam_handle_t *handle,
}
}
#if 0
if (!controller_set && controllers) {
char **l;
@ -112,6 +113,7 @@ static int parse_argv(pam_handle_t *handle,
*controllers = l;
}
#endif
if (controllers)
strv_remove(*controllers, "name=systemd");