On Sat, 07.03.15 20:04, Lars Christensen ([email protected]) wrote: > With systemd 218 and 219, I have a strange issue that processes running as > root cannot acquire realtime priority (SCHED_RR, priority 22). Further, if > (and only if) root is logged in (via tty or ssh), users processes can also > not acquire realtime priority. If root is NOT logged in, user processes CAN > acquire real time priority(!).
Most likely you have RT cgroup scheduling enabled in the kernel, and some unit uses CPUShares=, CPUAccounting=, CPUQuota*= in the unit file. If a unit does that this will move the unit's cgroup into the "cpu" cgroup controller, as well as all its parent and sibling cgroups (and thus units). When a process is in a cgroup in the "cpu" controller, and no RT budget is set for that cgroup, then RT is not available to it. This is very unfortunate. I'd love to assign an RT budget by default from systmed, but this isn't really doable, since there's no sane RT budget one could assign a cgroup given the current semantics of it (which require that all RT budgets of cgroups within another cgroup must sum up to less than 1/1...). THis is something that needs to be cleaned up in the kernel, and then we can expose this nicer in systemd. For now, my recommendation would be to disable the RT cgroup stuff in the kernel, and thus forego the whole problem. Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
