Re: [PATCH v6 5/9] x86/sysctl: Add sysctl for ITMT scheduling feature

From: Tim Chen
Date: Wed Oct 26 2016 - 13:23:39 EST


On Wed, 2016-10-26 at 13:24 +0200, Thomas Gleixner wrote:
> On Wed, 26 Oct 2016, Peter Zijlstra wrote:
> >
> > On Wed, Oct 26, 2016 at 12:49:36PM +0200, Thomas Gleixner wrote:
> >
> > >
> > > >
> > > > + /*
> > > > + Â* ITMT capability automatically enables ITMT
> > > > + Â* scheduling for small systems (single node).
> > > > + Â*/
> > > > + if (topology_num_packages() == 1)
> > > > + sysctl_sched_itmt_enabled = 1;
> > > I really hate this. This is policy and the kernel should not impose
> > > policy. Why would I like to have this enforced on my single socket XEON
> > > server?
> > So this really wants to be enabled by default; otherwise nobody will use
> > this, and it really does help single threaded workloads.
> Fair enough. Then this wants to be documented.
> Â
> >
> > There were reservations on the multi-socket case of ITMT, maybe it would
> > help to spell those out in great detail here. That is, have the comment
> > explain the policy instead of simply stating what the code does (which
> > is always bad comment policy, you can read the code just fine).
> What is the objection for multi sockets? If it improves the behaviour then
> why would this be a bad thing for multi sockets?

For multi-socket (server system), it is much more likely that they will
have multiple cpus in a socket busy and not run in turbo mode. So the extra
work in migrating the workload to the one with extra headroom will
not make use of those headroom in that scenario. ÂI will update the comment
to reflect this policy.

See also our previous discussions:Âhttp://lkml.iu.edu/hypermail/linux/kernel/1609.1/03381.html

Tim