Application failing to use SCHED_RR in container in spite of providing sys_nice


(SD) #1

Hello,
I have an application which changes its scheduling priority to SCHED_RR successfully when running natively ( without LXC ) on an ARM64 platform. However, when I run the same application within LXC (version 2.0.9) on the same ARM64 platform, the application is failing in pthread_create sched_setscheduler () where the sched policy is set to SCHED_RR.

In the LXC configuration file, I have set "lxc.cap.drop= ", which I believe assigns all the capabilities to the system container. The output of lxc-checkconfig shows that all the dependencies are met by the kernel.

Here is the output of lddtree of lxc-start:
lxc-start => /usr/bin/lxc-start (interpreter => /lib64/ld-linux-aarch64.so.1)

liblxc.so.1 => /usr/lib64/liblxc.so.1

libutil.so.1 => /lib64/libutil.so.1

libpthread.so.0 => /lib64/libpthread.so.0

ld-linux-aarch64.so.1 => /lib64/ld-linux-aarch64.so.1

libcap.so.2 => /lib64/libcap.so.2

libc.so.6 => /lib64/libc.so.6

Can anyone please some provide a pointer - what could be the reason for this behavior?

Regards,


(SD) #2

OK, I fixed the problem by assigning cpu budget.