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

From: Paul E. McKenney
Date: Tue Sep 13 2011 - 16:51:08 EST


On Tue, Sep 13, 2011 at 06:04:18PM +0200, Mike Galbraith wrote:
> 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.

I believe that we are going to need some sort of -rt-specific handling
of the RCU boost priority in the short term. Though maybe I could think
about getting runtime modification into mainline as well -- but it would
be different that -rt for a bit.

Thanx, Paul
--
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/