[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Allow ACPI state change with active cpupools
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@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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |