Re: [PATCH tip/core/rcu 11/17] rcu: Bind grace-period kthreads to non-NO_HZ_FULL CPUs
From: Paul E. McKenney
Date: Fri Jul 11 2014 - 14:45:39 EST
On Fri, Jul 11, 2014 at 08:25:43PM +0200, Frederic Weisbecker wrote:
> On Fri, Jul 11, 2014 at 01:10:41PM -0500, Christoph Lameter wrote:
> > On Tue, 8 Jul 2014, Frederic Weisbecker wrote:
> > > > I was figuring that a fair number of the kthreads might eventually
> > > > be using this, not just for the grace-period kthreads.
> > >
> > > Ok makes sense. But can we just rename the cpumask to housekeeping_mask?
> > That would imply that all no-nohz processors are housekeeping? So all
> > processors with a tick are housekeeping?
> Well, now that I think about it again, I would really like to keep housekeeping
> to CPU 0 when nohz_full= is passed.
When CONFIG_NO_HZ_FULL_SYSIDLE=y, then housekeeping kthreads are bound to
CPU 0. However, doing this causes significant slowdowns according to
Fengguang's testing, so when CONFIG_NO_HZ_FULL_SYSIDLE=n, I bind the
housekeeping kthreads to the set of non-nohz_full CPUs.
> > Could we make that set configurable? Ideally I'd like to have the ability
> > restrict the housekeeping to one processor.
> Ah, I'm curious about your usecase. But I think we can do that. And we should.
> In fact I think that Paul could keep affining grace period kthread to CPU 0
> for the sole case when we have nohz_full= parameter passed.
> I think the performance issues reported to him refer to CONFIG_NO_HZ_FULL=y
> config without nohz_full= parameter passed. That's the most important to address.
> Optimizing the "nohz_full= passed" case is probably not very useful and worse
> it complicate things a lot.
> What do you think Paul? Can we simplify things that way? I'm pretty sure that
> nobody cares about optimizing the nohz_full= case. That would really simplify
> things to stick to CPU 0.
When we have CONFIG_NO_HZ_FULL_SYSIDLE=y, agreed. In that case, having
housekeeping CPUs on CPUs other than CPU 0 means that you never reach
But in other cases, we appear to need more than one housekeeping CPU.
This is especially the case when people run general workloads on systems
that have NO_HZ_FULL=y, which appears to be a significant fraction of
the systems these days.
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/