Can't set the schedual parameter of threads in linux

erik.teose at erik.teose at
Fri Mar 12 06:39:26 EST 2004

>> Your program logic is absolutely correct.
>> I ran it in my embedded PPC environment (as root) and got
>the following results:
>> policy: 2       priority: 20
>> The problem is elsewhere...
>RedHat 9 uses nptl, that is a difference.

And a big difference it is. Here's some bits of an email
conversation I recently had on this issue:

  >>RH9 introduces 'nptl', (locally known as 'non-portable threads
  >>library'), which is strictly SCHED_OTHER.  Any
  >>RTOS code which relies on prioritized scheduling to work reliably
  >>(including some of the v2pthreads emulation layer) will be broken with
  >Isn't 'nptl' also 'standard' in the new 2.6 kernel? Is it strictly
  >SCHED_OTHER in 2.6 also? Isn't that a severe blow to 'real-time'
  >embedded Linux? I don't understand...
  Both statements are regrettably true. The developer(s) of 'nptl'
  regard regard real-time scheduling as 'nonsense' (that's what Ulrich
  Drepper called it!) and have no intentions of supporting it.
  Furthermore, their development priority is on scheduling efficiency
  rather than priority, and they believe it's okay to 'water down' the
  expectations of the applications programmer in order to boost
  performance.  Consequently I intend to personally take a look at their
  code to see what can be done to make it more desirable for the real-time
  applications community.  Drepper and crew don't see the shortcomings in
  their approach, so we in the real-time community will have to make any
  corrections ourselves.

So there we have it. The new 'nptl' threading library does not support
real-time scheduling. Comments?

Erik Teose
erik.teose at

** Sent via the linuxppc-embedded mail list. See

More information about the Linuxppc-embedded mailing list