I am running Arch Linux on a Raspberry Pi 2.I have a user-space program that uses Gordon's wiringPi library and, in particular, the piHiPri() function that attempts to set the highest priority for the current process (using sched_setscheduler and SCHED_RR mode).This function needs superuser privileges.The root user is the default one when installing Arch Linux so I created a user named builder that I added to sudoers thanks to visudo.My problem is:when I execute the program with the root user, the sched_setscheduler function returns Operation not permitted (getting it from errno).If I execute it while being builder I get a permission denied.However if I execute it with sudo myProgram while being builder, everything is fine and I can see that priority has changed with the top command.I thought that the root user might not have UID 0 so I checked with id -u root but this returns 0.ls -l myProgramm gives -rwxr-xr-x 1 root root. I also tried to set SUID with chmod +s myProgramm without success.Any idea on how to make my program executable by root?EDIT:As Gilles advised I ran ulimit -r and it returned 0 in any cases (builderand root).I changed a line in /etc/security/limits.conf from: *    -    rtprio     0To : *    -    rtprio     99This affected the output of ulimit -r as expected: it returns now 99.I then tried again to run my program with root but I still have the same Operation not permitted error and now it does not work anymore with sudo (same Operation not permittedas above)... strange ! While investigating I reverted back to old /etc/security/limits.conf settings. 
Why sudo user can use sched_setscheduler SCHED_RR while root can not?
linux;sudo;root;scheduling;privileges