Since the priority may have changed, the requeue is a good place to update the priority since we're already deleting and adding to a new list. Signed-off-by: Daniel Walker --- kernel/futex.c | 4 ++++ 1 file changed, 4 insertions(+) Index: linux-2.6.25/kernel/futex.c =================================================================== --- linux-2.6.25.orig/kernel/futex.c +++ linux-2.6.25/kernel/futex.c @@ -949,7 +949,11 @@ static int futex_requeue(u32 __user *uad * requeue. */ if (likely(head1 != &hb2->chain)) { + struct task_struct *task = this->task; + int prio = min(task->normal_prio, MAX_RT_PRIO); + plist_del(&this->list, &hb1->chain); + plist_node_init(&this->list, prio); plist_add(&this->list, &hb2->chain); this->lock_ptr = &hb2->lock; #ifdef CONFIG_DEBUG_PI_LIST -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/