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/