Re: [PATCH 4/4] nohz: Set isolcpus when nohz_full is set

Paul E. McKenney
2015-05-21T14:23:29Z

On Thu, May 21, 2015 at 06:59:05PM +0530, Afzal Mohammed wrote:
> Hi,
>
> On Thu, May 21, 2015 at 03:06:23PM +0200, Frederic Weisbecker wrote:
> > On Thu, May 21, 2015 at 05:57:59AM -0700, Paul E. McKenney wrote:
>
> > > Indeed, NO_HZ_FULL is special purpose. You normally would select
> > > NO_HZ_FULL_ALL only on a system intended for heavy compute without
> > > normal-workload distractions or for some real-time systems. For mixed
> > > workloads, you would build with NO_HZ_FULL (but not NO_HZ_FULL_ALL) and
> > > use the boot parameters to select which CPUs are to be running the
> > > specialized portion of the workload.
> > >
> > > And you would of course need to lead enough CPUs running normally to
> > > handle the non-specialized portion of the workload.
> > >
> > > This sort of thing has traditionally required specialized kernels,
> > > so the cool thing here is that we can make Linux do it. Though, as
> > > you noticed, careful configuration is still required.
> > >
> > > Seem reasonable?
>
> Yes, thanks, some dots got connected :)
>
> > That said if he saw a big performance regression after applying these patches,
> > then there is likely a problem in the patchset. Well it could be due to that mode
> > which loops on full dynticks before resuming to userspace. Indeed when that is
> > enabled, I expect real throughput issues on workloads doing lots of kernel <->
> > userspace roundtrips. We just need to make sure this thing only works when requested.
>
> With this change (& having NO_HZ_FULL_ALL), hackbench was being served
> only by the boot cpu, while w/o this change, all 8 (this is a quad
> core HT processor) was being used - observation based on 'top'.

Good to know! And it will be interesting to see what Frederic decides
based on his review of the patchset.

Thanx, Paul