summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-12-24 10:48:20 +0100
committerLennart Poettering <lennart@poettering.net>2010-12-24 10:48:20 +0100
commit5e4ef5e0d2f53a143122a41f3990011b9a3bf628 (patch)
tree514ae018717e1c5b53a67c7bc49bff7bd1639d7f
parent501c875bffaef3263ad42c32485c7fde41027175 (diff)
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.
-rw-r--r--src/pam-module.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/pam-module.c b/src/pam-module.c
index 54a7b451e8..6fbaecf51d 100644
--- a/src/pam-module.c
+++ b/src/pam-module.c
@@ -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");