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?