public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Cc: Len Brown <lenb@kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-acpi@vger.kernel.org,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Shaohua Li <shaohua.li@intel.com>
Subject: Re: [git pull request] ACPI Processor Aggregator Driver for 2.6.32-rc1
Date: Mon, 5 Oct 2009 12:45:38 +0530	[thread overview]
Message-ID: <20091005071538.GA3036@balbir.in.ibm.com> (raw)
In-Reply-To: <20091005053310.GB14222@dirshya.in.ibm.com>

* Vaidy <svaidy@linux.vnet.ibm.com> [2009-10-05 11:03:10]:

> * Balbir Singh <balbir@linux.vnet.ibm.com> [2009-10-05 09:02:56]:
> 
> > * Len Brown <lenb@kernel.org> [2009-10-03 01:56:32]:
> > 
> > >     This driver does not use the kernel's CPU hot-plug mechanism
> > >     because after the transient emergency is over, the system must
> > >     be returned to its normal state, and hotplug would permanently
> > >     break both cpusets and binding.
> > >     
> > 
> > Why does hotplug break cpusets and binding?
> 
> CPU hotplug will break any cpuset that is setup with that cpu.
> Userspace needs to register for notifications and redo the cpusets to
> get desired behaviour.  Since these emergencies are short durations,
> these may require constant re-creation of cpusets leading to an
> administrative overhead and added complexity.
>
 
My concern is that the alternative is even harsher, you can end up
with starvation, unless we explicitly migrate all tasks away from that
CPU (I need to see the patches again to see if they do that).

> Hence Peter had suggested a transparent method to reduce system
> capacity and not really knock out a single cpu.  The goal is to run
> something like 6 cpus at a time in an 8 cpu system without starving
> any single cpu.  Also real time jobs should still allowed to be run
> since they will generally be very short running.
> 
> In this patch series, the main design issue was about running
> a forced-idle thread that may affect scheduling fairness.
>

Not to mention that they put the scheduler and available CPUs or the
notion of them (out of sync).
 
> > >     So to force idle, the driver creates a power saving thread.
> > >     The scheduler will migrate the thread to the preferred CPU.
> > >     The thread has max priority and has SCHED_RR policy,
> > >     so it can occupy one CPU.  To save power, the thread will
> > >     invoke the deep C-state entry instructions.
> > >     
> > >     To avoid starvation, the thread will sleep 5% of the time
> > >     time for every second (current RT scheduler has threshold
> > >     to avoid starvation, but if other CPUs are idle,
> > >     the CPU can borrow CPU timer from other,
> > >     which makes the mechanism not work here)
> > >     
> > >     Vaidyanathan Srinivasan has proposed scheduler enhancements
> > >     to allow injecting idle time into the system.  This driver doesn't
> > >     depend on those enhancements, but could cut over to them
> > >     when they are available.
> > >     
> > >     Peter Z. does not favor upstreaming this driver until
> > >     the those scheduler enhancements are in place.  However,
> > >     we favor upstreaming this driver now because it is useful
> > >     now, and can be enhanced over time.
> > >     
> > >     Signed-off-by: Shaohua Li <shaohua.li@intel.com>
> > >     NACKed-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
> > >     Cc: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
> > >     Signed-off-by: Len Brown <len.brown@intel.com>
> > 
> > This is a first a patch with a NACKed-by, could we please have more
> > discussion on the proposed design.
> 
> This is the most recent reference I have:
> http://marc.info/?l=linux-acpi&m=124650086915649&w=2
>

Thanks for the link. 

-- 
	Balbir

  reply	other threads:[~2009-10-05  7:15 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-03  5:56 [git pull request] ACPI Processor Aggregator Driver for 2.6.32-rc1 Len Brown
2009-10-03 20:49 ` Rafael J. Wysocki
2009-10-05  3:32 ` Balbir Singh
2009-10-05  5:33   ` Vaidyanathan Srinivasan
2009-10-05  7:15     ` Balbir Singh [this message]
2009-10-05 19:59   ` Rafael J. Wysocki
2009-10-05 20:33     ` Balbir Singh
2009-10-05 20:56     ` Linus Torvalds
2009-10-05 21:51       ` Rafael J. Wysocki
2009-10-05 22:17         ` Len Brown
2009-10-05 21:04     ` Andrew Morton
2009-10-05 22:20       ` Len Brown
2009-10-05 22:40         ` Andrew Morton
2009-10-05 23:23           ` Linus Torvalds
2009-10-06  1:28             ` Len Brown
2009-10-06  9:16               ` Balbir Singh

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=20091005071538.GA3036@balbir.in.ibm.com \
    --to=balbir@linux.vnet.ibm.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shaohua.li@intel.com \
    --cc=svaidy@linux.vnet.ibm.com \
    --cc=torvalds@linux-foundation.org \
    /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