[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] Allow ACPI state change with active cpupools


  • To: Keir Fraser <keir@xxxxxxx>
  • From: Juergen Gross <juergen.gross@xxxxxxxxxxxxxx>
  • Date: Tue, 20 Mar 2012 14:35:47 +0100
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Tue, 20 Mar 2012 13:36:17 +0000
  • Domainkey-signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns; h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV: Received:Received:Message-ID:Date:From:Organization: User-Agent:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=CLQtpLC1lSiBZWyq4bC68fvTNofsHlS8JMBRQMcwFCNJDSdyp0PvUxig 1kuSb90e0A18fp0Ahx3yeJm7vk+kxGFLJvINfA7D0SiTyP9giJiSy4FJM lUz0fQw5O2KFoDLU6l/5T7SGRLhfPnx5/G/TJgHHao03KgPmRdaT3LYZ9 ANrnqZFKaIqRicxK4pJs9hHS2oy6YpTbcPrihVh0ZeYHhdEOxhVoZbgvm u5j2QHviDtKYi8NbJZVqFGZKaIxwi;
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

On 03/20/2012 01:52 PM, Keir Fraser wrote:
That's quite a lot of bother. Firstly, this could probably be supported by a
global system_state type of variable indicating whether we are booting,
suspending, normal. Etc. Secondly I wonder whether you really need to care
about this detail from within the cpupool code? When you offline a CPU in
cpupool!=0, remember it. Put it back in the pool when it onlines, if the
pool still exists. Don't prevent a pool from being destroyed just because it
has offline cpus as members. Something like that? Or even always have the
cpupool code put onlined cpus in pool 0, and have the acpi suspend code
remember and restore pool memberships.

Hmm. Using a global variable seems to be hacky. I tried to find a clean solution
for the problem. If the changes are too big in your opinion, I'll try to handle
cpu offlining local to cpupools.

Thanks for your opinion,

Juergen

  -- Keir

On 20/03/2012 12:15, "Juergen Gross"<juergen.gross@xxxxxxxxxxxxxx>  wrote:

Changing the ACPI state (e.g. power off) while not all cpus are in cpupool 0
will currently crash the hypervisor during disabling the other cpus.
This patch avoids the crash by adding the reason for disabling a cpu (either
permanent e.g. in case of cpu hotplug or temporary in case of ACPI state
change).
This requires an additional parameter for cpu callbacks. All callbacks are
changed to take a structure as parameter instead of only the cpu number.

Signed-off-by: Juergen Gross<juergen.gross@xxxxxxxxxxxxxx>


25 files changed, 185 insertions(+), 139 deletions(-)
xen/arch/x86/acpi/cpu_idle.c                 |   13 ++++---
xen/arch/x86/cpu/mcheck/mce.c                |    8 ++--
xen/arch/x86/cpu/mcheck/mce_intel.c          |    8 ++--
xen/arch/x86/hvm/hvm.c                       |   10 ++---
xen/arch/x86/microcode.c                     |    6 +--
xen/arch/x86/nmi.c                           |   17 +++++----
xen/arch/x86/percpu.c                        |    8 ++--
xen/arch/x86/setup.c                         |    2 -
xen/arch/x86/smpboot.c                       |    8 ++--
xen/arch/x86/sysctl.c                        |    8 ++--
xen/arch/x86/x86_32/traps.c                  |    8 ++--
xen/common/cpu.c                             |   46 ++++++++++++++++----------
xen/common/cpupool.c                         |   17 ++++++---
xen/common/kexec.c                           |   13 ++++---
xen/common/rcupdate.c                        |   15 +++++---
xen/common/sched_credit2.c                   |    6 +--
xen/common/schedule.c                        |    8 ++--
xen/common/stop_machine.c                    |   17 +++++----
xen/common/tasklet.c                         |   19 ++++++----
xen/common/timer.c                           |   15 +++++---
xen/common/tmem_xen.c                        |   32 +++++++++---------
xen/common/trace.c                           |    6 +--
xen/drivers/cpufreq/cpufreq.c                |   15 +++++---
xen/drivers/cpufreq/cpufreq_misc_governors.c |    6 +--
xen/include/xen/cpu.h                        |   13 ++++++-


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel




--
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@xxxxxxxxxxxxxx
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.