Piezo
-
Posts
2 -
Joined
-
Last visited
Reputation Activity
-
Piezo reacted to hexdump in CONFIG_RT_GROUP_SCHED=y harmuflull for real time applications
@Piezo - did you already try "sysctl -w kernel.sched_rt_runtime_us=-1" - it works well for me for jackd ...
best wishes and good luck - hexdump
-
Piezo got a reaction from lanefu in CONFIG_RT_GROUP_SCHED=y harmuflull for real time applications
Since linux v5.4 armbian_build enables the CONFIG_RT_GROUP_SCHED config option.
Some armbian users use the soft real-time features for either real-time audio (jackd), or control (eg. klipper_host_mcu),
However, real-time group scheduling, enabled by this options complicates the user space configuration required to acquire real-time scheduling in applications and daemons.
Setting ulimit -r or LimitRTPRIO= is no longer enough, it is also required to allocate CPU time for RT task. In a brutal way this can be done as
echo 950000 > /sys/fs/cgroup/cpu,cpuacct/{system,user}.slice/cpu.rt_runtime_us JACK documentation recommends using cgroup-tools for configuration. This is redundant with systemd's own configuration of cgroups hierarchies.
However, it is currently not possible to setup with systemd configs files: the team responded "wontfix, accounting rules for RT_GROUP_SCHED are too convoluted for systemd to support"
The systemd's README was updated with the follwing warning:
I was hesitant to open an issue on armbuild_config. The changes in the config file are quite recent (Dec 2019) and probably unintentional (kernel default).
But, I could be missing something. Surely lots of folks use RT scheduling on their board. Maybe along with an older kernel ?
Does real-time group scheduling have any use on SBC ?
Do you have simpler solution for this problem (other than CONFIG_RT_GROUP_SCHED=n) ?
-
Piezo got a reaction from TRS-80 in CONFIG_RT_GROUP_SCHED=y harmuflull for real time applications
Since linux v5.4 armbian_build enables the CONFIG_RT_GROUP_SCHED config option.
Some armbian users use the soft real-time features for either real-time audio (jackd), or control (eg. klipper_host_mcu),
However, real-time group scheduling, enabled by this options complicates the user space configuration required to acquire real-time scheduling in applications and daemons.
Setting ulimit -r or LimitRTPRIO= is no longer enough, it is also required to allocate CPU time for RT task. In a brutal way this can be done as
echo 950000 > /sys/fs/cgroup/cpu,cpuacct/{system,user}.slice/cpu.rt_runtime_us JACK documentation recommends using cgroup-tools for configuration. This is redundant with systemd's own configuration of cgroups hierarchies.
However, it is currently not possible to setup with systemd configs files: the team responded "wontfix, accounting rules for RT_GROUP_SCHED are too convoluted for systemd to support"
The systemd's README was updated with the follwing warning:
I was hesitant to open an issue on armbuild_config. The changes in the config file are quite recent (Dec 2019) and probably unintentional (kernel default).
But, I could be missing something. Surely lots of folks use RT scheduling on their board. Maybe along with an older kernel ?
Does real-time group scheduling have any use on SBC ?
Do you have simpler solution for this problem (other than CONFIG_RT_GROUP_SCHED=n) ?