On Wed, May 06, 2020 at 11:53:14PM +0200, Lennart Poettering wrote: > > > > > > > > You can use low-level cgroup access to move it. Something like: > > > > systemctl show --property MainPID --value your.service > > > > > /sys/fs/cgroup/NEW.slice/cgroup.procs > > > > > > You void your warranty if you do that. Moreover, on cgroupvs2 this > > > doesn't work really, since inner cgroups cannot have processes and > > > slices are by definition inner cgroups. > > > > Doesn't work? I beg to differ, the following is on Fedora 31: > > > > Control group /: > > -.slice > > ├─kodi.slice > > │ └─2872766 /usr/lib64/kodi/kodi-wayland ← here it has process > > > > Is there an API in systemd to move specific program to a dedicated > > slice? > > Use Slice= in the service file. That would require having a service file. I don't have it. I just have a single process in session which I need to treat specially. Thus I move it to separate slice. I have /etc/systemd/system/kodi.slice to define this separate slice and resource controls for it. > > In my usecase, I've created a top-level .slice for Kodi player. I want > > it to have priority over everything on my machine - over other users' > > processes, over virtual machines, over everything in system.slice. > > I achieve it by having this top-level slice with CPUShares, CPUWeight, > > BlockIOWeight, IOWeight much higher and IODeviceLatencyTargetSec > > much lower than rest of the slices. Seems to work. > > I presume you you mean a top-level slice in the system manager? If so > you need to run kodi as a system service too. That wouldn't work, Kodi is strictly tied to user session - file permissions, configurations, access to screen and audio (Kodi is a media player), interaction with other parts of user session. > If you want to run kodi as user service, then assign your user the > resources you want to assign to kodi, and then distribute them from > there to kodi, and reduce it for the rest. This user has a bunch of other things running (compilation, emails, batch jobs, torrents). I want Kodi to be isolated from the interference. Slices/scopes (are they different? Manpage descriptions of them seem to say the same things using slightly different words) should do the trick. P.S. I'm sorry for hijacking original poster's thread. -- Tomasz Torcz 72->| 80->| tomek@xxxxxxxxxxxxxx 72->| 80->| _______________________________________________ systemd-devel mailing list systemd-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/systemd-devel