-
-
Notifications
You must be signed in to change notification settings - Fork 495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Odroid N2 | FIFO and Round Robin CPU scheduling policy not supported #5693
Comments
Can you reboot your system and share following
|
after reboot...
|
looks like Docker don't like to have CPU scheduling set
|
I guess it's the CPU scheduling class which is the issue. And to be true, giving the whole Docker engine However, it seems to be a kernel flag which causes this in combination with systemd: https://stackoverflow.com/questions/34018956/sched-setscheduler-error-eperm-after-installing-libpam-systemd We need to replicate this is a simple dummy service. |
While it is not what I'd recommend, I just tested the highest possible CPU and I/O classes and priorities (as well as the "Highest Priority" preset) on Docker on VM and there it works without issues: root@VM-Bullseye:~# cat /etc/systemd/system/docker.service.d/dietpi-process_tool.conf
# WARNING: Do not manually edit this file, use "dietpi-services" to adjust values!
[Service]
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=99
IOSchedulingClass=realtime
IOSchedulingPriority=0
...
root@VM-Bullseye:~# cat /etc/systemd/system/docker.service.d/dietpi-process_tool.conf
# WARNING: Do not manually edit this file, use "dietpi-services" to adjust values!
[Service]
CPUSchedulingPolicy=fifo
IOSchedulingClass=realtime
CPUSchedulingPriority=50 Probably a limitation of the Odroid N2 kernel? Needs further testing. |
Unfortunately, I have only one Odroid N2 and it is already in production use with "High priority" preset applied. Maybe somebody else could help with testing of these tweaks. |
Verified: FIFO and Round Robin are both generally not permitted on Odroid N2 for whatever reason. On x86_64 VMs and Raspberry Pi it works without issues: root@OdroidN2:~# chrt -f --pid 1 5094
chrt: failed to set pid 5094's policy: Operation not permitted
root@OdroidN2:~# chrt -r --pid 1 5094
chrt: failed to set pid 5094's policy: Operation not permitted
root@OdroidN2:~# chrt -o --pid 0 5094
root@OdroidN2:~# Must be a kernel limitation. I'll test this on some other SBCs tomorrow. |
Creating a bug report/issue
Required Information
cat /boot/dietpi/.version
echo $G_DISTRO_NAME $G_RASPBIAN
bullseye
uname -a
Linux odroid 5.10.123-meson64 #22.05.3 SMP PREEMPT Wed Jun 22 07:23:04 UTC 2022 aarch64 GNU/Linux
echo $G_HW_MODEL_NAME
or (EG: RPi3)Odroid N2 (aarch64)
12V A2
EEMC 64GB
Additional Information (if applicable)
Docker
freshly installed today
Most probably yes
echo $G_HW_UUID
Steps to reproduce
dietpi-software
dietpi-services
and try to apply predefined Highest priorityExpected behaviour
Actual behaviour
Extra details
The text was updated successfully, but these errors were encountered: