mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
To: Balbir Singh <balbir@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 11:03:10 +0530	[thread overview]
Message-ID: <20091005053310.GB14222@dirshya.in.ibm.com> (raw)
In-Reply-To: <20091005033256.GA26592@balbir.in.ibm.com>

* 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.

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.

> >     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

--Vaidy


  reply	other threads:[~2009-10-05  5:34 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-03  5:56 Len Brown
2009-10-03 20:49 ` Rafael J. Wysocki
2009-10-05  3:32 ` Balbir Singh
2009-10-05  5:33   ` Vaidyanathan Srinivasan [this message]
2009-10-05  7:15     ` Balbir Singh
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=20091005053310.GB14222@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=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shaohua.li@intel.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

all inboxes | Powered by JetHome®