From: Keir Fraser <keir@xen.org>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>,
xen-devel@lists.xensource.com
Subject: Re: [PATCH] Allow ACPI state change with active cpupools
Date: Tue, 20 Mar 2012 12:52:07 +0000 [thread overview]
Message-ID: <CB8E2DF7.3BFC8%keir@xen.org> (raw)
In-Reply-To: <6ca47f4a35ab18e72117.1332245736@nehalem1>
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.
-- Keir
On 20/03/2012 12:15, "Juergen Gross" <juergen.gross@ts.fujitsu.com> 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@ts.fujitsu.com>
>
>
> 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@lists.xen.org
> http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2012-03-20 12:52 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-20 12:15 [PATCH] Allow ACPI state change with active cpupools Juergen Gross
2012-03-20 12:52 ` Keir Fraser [this message]
2012-03-20 13:35 ` Juergen Gross
2012-03-20 14:30 ` Keir Fraser
2012-03-20 14:46 ` Juergen Gross
2012-03-20 14:55 ` Keir Fraser
2012-03-21 13:46 ` Juergen Gross
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=CB8E2DF7.3BFC8%keir@xen.org \
--to=keir@xen.org \
--cc=juergen.gross@ts.fujitsu.com \
--cc=xen-devel@lists.xensource.com \
/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;
as well as URLs for NNTP newsgroup(s).