sched_setscheduler() behaviour changed??

Mats Lindberg mats.w.lindberg at gmail.com
Thu Feb 17 10:17:43 UTC 2011


All,
I have been using a small program /rt) that utilize the sched_setscheduler()
syscall to set the scheduling policy of a process to SCHED_RR. Been running
it FBSD 5.x and 6.x. Now when migrating to FBSD 8.1 I get EPERM back at me.
used to be able to run it like e.g.
> ./rt -sr -p2 -- prog

which started <prog> in SCHED_RR policy with priority 2.

now in FBSD 8.1 I get EPERM

But If I do
> rtprio 10 ./rt -sr -p2 -- prog

it I dont get EPERM.

I'm always root when doing this.

My problem is that I have customers that need to run their old 5.x 6.x
applications 'as is' in 8.1 whithout changing anything.

Does anyone know if there is a workaround?
sysctl? kernel hint? kernel config? reverting to 4BSD scheduler?

regards
Mats


More information about the freebsd-hackers mailing list