Steven is right in that I did over-user normal_prio a bit. the barriers should use the boosted prio.
--- Index: linux-2.6/kernel/workqueue.c =================================================================== --- linux-2.6.orig/kernel/workqueue.c +++ linux-2.6/kernel/workqueue.c @@ -387,7 +387,7 @@ static void insert_wq_barrier(struct cpu init_completion(&barr->done); - insert_work(cwq, &barr->work, 0, current->normal_prio, tail); + insert_work(cwq, &barr->work, 0, current->prio, tail); } static void wq_full_barrier_func(struct work_struct *work) @@ -418,9 +418,9 @@ static void insert_wq_full_barrier(struc plist_head_splice(&cwq->worklist, &barr->worklist); barr->cwq = cwq; init_completion(&barr->done); - barr->waiter_prio = current->normal_prio; + barr->waiter_prio = current->prio; - insert_work(cwq, &barr->work, 0, current->normal_prio, 1); + insert_work(cwq, &barr->work, 0, current->prio, 1); } static int flush_cpu_workqueue(struct cpu_workqueue_struct *cwq) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/