Re: [PATCH tip/core/rcu 44/55] rcu: wire up RCU_BOOST_PRIO forrcutree

From: Mike Galbraith
Date: Tue Sep 13 2011 - 12:04:38 EST


On Tue, 2011-09-13 at 08:34 -0700, Paul E. McKenney wrote:
> On Tue, Sep 13, 2011 at 02:02:14PM +0200, Mike Galbraith wrote:

> > @@ -1608,7 +1618,7 @@ static int rcu_node_kthread(void *arg)
> > continue;
> > }
> > per_cpu(rcu_cpu_has_work, cpu) = 1;
> > - sp.sched_priority = RCU_KTHREAD_PRIO;
> > + sp.sched_priority = current->rt_priority;
>
> This is broken -- the per-node kthread runs at RT prio 99, but we usually
> would not want to boost that high.

Ouch, right. My userland sets things on boot, so it works.

> Seems like we should have a global variable that tracks the current
> priority. This global variable could then be set in a manner similar
> to the softirq priorities -- or, perhaps better, simply set whenever
> the softirq priority is changed.
>
> Thoughts?

RCU threads would have to constantly watch for user priority changes on
their own, and update private data methinks.

-Mike

--
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/