Re: Very high CPU load when idle with 3.0-rc1

Peter Zijlstra
2011-06-01T11:17:01Z

On Mon, 2011-05-30 at 18:45 -0700, Paul E. McKenney wrote:
> > > Because priority boosting doesn't help unless the callbacks also run
> > > RT priority.
> > >
> > > I could make it so that they ran as normal tasks if !RCU_BOOST, but
> > > they would still need to run as RT tasks for RCU_BOOST. I figured
> > > running them the same way in both cases would be simpler.
> >
> > Ah, I thought you'd boost the threads along with the waiters, to the
> > same prio so that they wouldn't disturb higher priority tasks for no
> > reason.
>
> I considered that, but working out when it is OK to deboost them is
> decidedly non-trivial.

Where exactly is the problem there? The boost lasts for as long as it
takes to finish the grace period, right? There's a distinct set of
callbacks associated with each grace-period, right? In which case you
can de-boost your thread the moment you're done processing that set.

Or am I simply confused about how all this is supposed to work?