Re: priority based thread wakeup

From: Gregory Haskins
Date: Fri Jan 18 2008 - 08:34:19 EST


Mark Hansen wrote:
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...@xxxxxxxx>
Signed-off-by: Pierre Peiffer <pierre.peif...@xxxxxxxx>

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?


Hi Mark,
In a coffee deprived stupor ;), I responded to this mail in the wrong thread, here:

http://lkml.org/lkml/2008/1/18/207

Sorry for the confusion
HTH

-Greg


Regards,
Mark Hansen


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/