mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
To: Mike Galbraith <efault@gmx.de>
Cc: balbir@linux.vnet.ibm.com, Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH v7 0/8] Tunable sched_mc_power_savings=n
Date: Wed, 7 Jan 2009 21:05:10 +0530	[thread overview]
Message-ID: <20090107153510.GN4574@dirshya.in.ibm.com> (raw)
In-Reply-To: <1231338985.5709.22.camel@marge.simson.net>

* Mike Galbraith <efault@gmx.de> [2009-01-07 15:36:25]:

> On Wed, 2009-01-07 at 16:56 +0530, Vaidyanathan Srinivasan wrote:
> > * Mike Galbraith <efault@gmx.de> [2009-01-07 09:59:15]:
> > 
> > > I have a couple questions if you don't mind.
> > > 
> > > In wake_idle() there's an odd looking check for kthreads.  Why does it
> > > matter if a kbuild task wakes kernel or userland helper thread?
> > 
> > Only user space tasks/threads should be biased at wakeup and
> > consolidated for the following reasons:
> > 
> > * kernel threads generally perform housekeeping tasks and its rate of
> >   execution and cpu utilisation is far less than that of user task in
> >   an under utilised system.  
> > * Biasing at wakeup help consolidate bursty user space tasks. Long
> >   running user space tasks will be consolidated by load balancer.
> >   kthreads are not bursty, they are generally very short running.
> 
> Rummaging around in an nfs mount is bursty, and the nfs threads are part
> of the burst.  No big deal, but I think it's illogical to differentiate.

nfs threads is a real good example.  I missed that.  I will play
around with nfs threads and try to optimise the condition.

> > > I also don't see why sched_mc overrides domain tunings.  You can turn
> > > NEWIDLE off and sched_mc remains as set, so it's a one-way override.  If
> > > NEWIDLE is a requirement for sched_mc > 0, it seems only logical to set
> > > sched_mc to 0 if the user explicitly disables NEWIDLE.
> > 
> > SD_BALANCE_NEWIDLE is required for sched_mc=2 and power savings while
> 
> That's a buglet then, because you can have sched_mc=2 and NEWIDLE off.

Tweaking the sched domain parameters affect the default power saving
heuristics anyway.  Protecting against the flags alone will not help.
Your point is valid, I will think about this scenario and see how we
can protect the behavior.
 
> > not mandated for sched_mc=0.  We can remove NEWIDLE balance at
> > sched_mc=0 if that helps baseline performance.  Ingo had identified
> > that removing NEWIDLE balance help performance in certain benchmarks.
> 
> It used to help mysql+oltp low end throughput for one.  efbe027 seems to
> have done away with that though (not that alone).
> 
> > I do not get what you have mentioned by NEWIDLE off?  Is there
> > a separate user space control to independently set or reset
> > SD_BALANCE_NEWIDLE at a give sched_domain level?
> 
> Yes. /proc/sys/kernel/sched_domain/cpuN/domainN/*

Changing flags through this interface is complete low level control.
End users who want to tweak individual sched domain parameters are
either experimenting or optimising for their specific workload.

The defaults should generally across common workloads.  Users can
further tweak this low level settings.  We can clearly document the
relations so that we know what to expect.

sched_mc=2 depends on NEWIDLE but the wakeup biasing part will be
enabled even without this flag.  The power savings will be marginally
better than sched_mc=1 without NEWIDLE.  But the end user can have
that setup if they want to.

You have pointed out a scenario where users can turn off NEWIDLE and
still expect to use sched_mc=2.  The scenario is valid and the user
should be allowed to do so.

--Vaidy

  reply	other threads:[~2009-01-07 15:32 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-18 17:55 Vaidyanathan Srinivasan
2008-12-18 17:56 ` [PATCH v7 1/8] sched: convert BALANCE_FOR_xx_POWER to inline functions Vaidyanathan Srinivasan
2008-12-18 17:56 ` [PATCH v7 2/8] sched: Framework for sched_mc/smt_power_savings=N Vaidyanathan Srinivasan
2008-12-18 17:56 ` [PATCH v7 3/8] sched: favour lower logical cpu number for sched_mc balance Vaidyanathan Srinivasan
2008-12-18 17:56 ` [PATCH v7 4/8] sched: nominate preferred wakeup cpu Vaidyanathan Srinivasan
2008-12-18 18:12   ` Balbir Singh
2008-12-19 21:55   ` Andrew Morton
2008-12-19 22:19     ` Andrew Morton
2008-12-19 22:27       ` Ingo Molnar
2008-12-19 22:31         ` Ingo Molnar
2008-12-19 22:38           ` Andrew Morton
2008-12-19 22:54             ` Ingo Molnar
2008-12-20  4:36     ` Vaidyanathan Srinivasan
2008-12-20  4:44       ` Andrew Morton
2008-12-20  7:54         ` Ingo Molnar
2008-12-20 10:02         ` Vaidyanathan Srinivasan
2008-12-20 10:36           ` Vaidyanathan Srinivasan
2008-12-20 10:56             ` Vaidyanathan Srinivasan
2008-12-21  8:46               ` Ingo Molnar
2008-12-18 17:56 ` [PATCH v7 5/8] sched: bias task wakeups to preferred semi-idle packages Vaidyanathan Srinivasan
2008-12-18 18:11   ` Balbir Singh
2008-12-18 17:56 ` [PATCH v7 6/8] sched: activate active load balancing in new idle cpus Vaidyanathan Srinivasan
2008-12-18 17:56 ` [PATCH v7 7/8] sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0 Vaidyanathan Srinivasan
2008-12-18 17:56 ` [PATCH v7 8/8] sched: idle_balance() does not call load_balance_newidle() Vaidyanathan Srinivasan
2008-12-18 18:12   ` Balbir Singh
2008-12-18 20:17     ` Ingo Molnar
2008-12-18 20:19 ` [PATCH v7 0/8] Tunable sched_mc_power_savings=n Ingo Molnar
2008-12-18 20:31   ` Ingo Molnar
2008-12-19  8:29     ` Vaidyanathan Srinivasan
2008-12-19  8:24   ` Vaidyanathan Srinivasan
2008-12-19 13:34   ` Vaidyanathan Srinivasan
2008-12-29 23:43 ` MinChan Kim
2008-12-30  2:48   ` Balbir Singh
2008-12-30  6:21     ` Ingo Molnar
2008-12-30  6:44       ` Balbir Singh
2008-12-30  7:20         ` Ingo Molnar
2008-12-30 18:07       ` Vaidyanathan Srinivasan
2009-01-02  7:26         ` Vaidyanathan Srinivasan
2009-01-02 22:16           ` Ingo Molnar
2009-01-03  7:29             ` Mike Galbraith
2009-01-03 10:16               ` Vaidyanathan Srinivasan
2009-01-03 11:22                 ` Mike Galbraith
2009-01-04 15:00                   ` Mike Galbraith
2009-01-04 18:19                     ` Vaidyanathan Srinivasan
2009-01-04 19:52                       ` Mike Galbraith
2009-01-05  3:20                         ` Vaidyanathan Srinivasan
2009-01-05  4:40                           ` Mike Galbraith
2009-01-05  6:36                             ` Mike Galbraith
2009-01-05 15:19                               ` Mike Galbraith
2009-01-06  9:31                                 ` Mike Galbraith
2009-01-06 15:07                                   ` Vaidyanathan Srinivasan
2009-01-06 17:48                                     ` Mike Galbraith
2009-01-06 18:45                                       ` Balbir Singh
2009-01-07  8:59                                         ` Mike Galbraith
2009-01-07 11:26                                           ` Vaidyanathan Srinivasan
2009-01-07 14:36                                             ` Mike Galbraith
2009-01-07 15:35                                               ` Vaidyanathan Srinivasan [this message]
2009-01-08  8:06                                                 ` Mike Galbraith
2009-01-08 17:46                                                   ` Vaidyanathan Srinivasan
2009-01-09  6:00                                                     ` Mike Galbraith
2009-01-06 14:54                             ` Vaidyanathan Srinivasan
2008-12-30 17:31     ` Vaidyanathan Srinivasan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090107153510.GN4574@dirshya.in.ibm.com \
    --to=svaidy@linux.vnet.ibm.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=efault@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome