On Tue, Jul 29, 2014 at 07:33:32PM +0200, Peter Zijlstra wrote:
> On Tue, Jul 29, 2014 at 10:23:04AM -0700, Paul E. McKenney wrote:
> > On Tue, Jul 29, 2014 at 10:14:16AM +0200, Peter Zijlstra wrote:
> > > On Mon, Jul 28, 2014 at 03:56:12PM -0700, Paul E. McKenney wrote:
> > > > @@ -254,6 +254,8 @@ void rcu_check_callbacks(int cpu, int user)
> > > >                 rcu_sched_qs(cpu);
> > > >         else if (!in_softirq())
> > > >                 rcu_bh_qs(cpu);
> > > > +       if (user)
> > > > +               rcu_note_voluntary_context_switch(current);
> > > >  }
> > > 
> > > There's nothing like sending email you can't find something... :-)
> > 
> > Well, this is unfortunately only a partial solution.  It does not handle
> > the NO_HZ_FULL scheduling-clock-free usermode execution.  I have ink on
> > paper indicating a couple of ways to do that, but figured I should get
> > feedback on this stuff before going too much farther.
> 
> Yah, so the nohz_full already has the horrid overhead of user<->kernel
> switches, so you can 'trivially' hook into those.

Yep, the plan is to use RCU's dyntick-idle code as the hook.

> FWIW its _the_ thing that makes nohz_full uninteresting for me. The
> required overhead is insane. But yes there are people willing to pay
> that etc..

It would indeed be good to reduce the overhead.  I could imagine all sorts
of insane approaches involving assuming that CPU write buffers flush in
bounded time, though CPU vendors seem unwilling to make guarantees in
this area.  ;-)

Or is something other than rcu_user_enter() and rcu_user_exit() causing
the pain here?

                                                        Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to