lkml.org 
[lkml]   [2008]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectpriority based thread wakeup
Hello,

Firstly, may I apologise as I am not a member of the LKML, and ask that
I be CC'd in any responses that may be forthcoming.

My question concerns the following patch which was incorporated into the
2.6.22 kernel (quoted from that change log):

>Today, all threads waiting for a given futex are woken in FIFO
>order (first waiter woken first) instead of priority order.
>
>This patch makes use of plist (pirotity ordered lists) instead
>of simple list in futex_hash_bucket.
>
>All non-RT threads are stored with priority MAX_RT_PRIO, causing
>them to be woken last, in FIFO order (RT-threads are woken first,
>in priority order).
>
>Signed-off-by: Sebastien Dugue <sebastien.du...@bull.net>
>Signed-off-by: Pierre Peiffer <pierre.peif...@bull.net>

After updating to this version of the kernel, I was able to observe the
above fix, where multiple RT threads invoking pthread_cond_wait(), and
the highest priority thread will acquire the mutex first, after the
thread holding the mutex calls pthread_cond_signal();
pthread_mutex_unlock()

However, since kernel 2.6.23, it seems that the functionality relating
to this "priority based wakeup" has disappeared.

I understand there have been significant changes in this kernel
concerning the "Completely Fair Scheduler" replacing the "mainline"
scheduler; however my understanding is that the RT functionality would
be preserved. This does not appear to be the case based on repeating the
experiment described above.

I was wondering if this functionality is considered no longer
desirable/necessary?

If not, is it anticipated that this functionality could/would be
included in a later kernel?

Regards,
Mark Hansen




\
 
 \ /
  Last update: 2008-01-18 08:27    [W:0.142 / U:0.380 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site