diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2022-05-24 01:55:36 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2022-05-24 01:55:36 +0200 |
commit | 28c8f9fe94c4e0b0c27383d48da3c85b0dc17081 (patch) | |
tree | c66b7bd86ce970879464f866615f73c6e4259dc9 /arch/x86/xen | |
parent | Merge tag 'core-debugobjects-2022-05-23' of git://git.kernel.org/pub/scm/linu... (diff) | |
parent | cpu/hotplug: Initialise all cpuhp_cpu_state structs earlier (diff) | |
download | linux-28c8f9fe94c4e0b0c27383d48da3c85b0dc17081.tar.xz linux-28c8f9fe94c4e0b0c27383d48da3c85b0dc17081.zip |
Merge tag 'smp-core-2022-05-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull CPU hotplug updates from Thomas Gleixner:
- Initialize the per-CPU structures during early boot so that the state
is consistent from the very beginning.
- Make the virtualization hotplug state handling more robust and let
the core bringup CPUs which timed out in an earlier attempt again.
- Make the x86/xen CPU state tracking consistent on a failed online
attempt, so a consecutive bringup does not fall over the inconsistent
state.
* tag 'smp-core-2022-05-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
cpu/hotplug: Initialise all cpuhp_cpu_state structs earlier
cpu/hotplug: Allow the CPU in CPU_UP_PREPARE state to be brought up again.
x86/xen: Allow to retry if cpu_initialize_context() failed.
Diffstat (limited to 'arch/x86/xen')
-rw-r--r-- | arch/x86/xen/smp_pv.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/xen/smp_pv.c b/arch/x86/xen/smp_pv.c index 688aa8b6ae29..ba7af2eca755 100644 --- a/arch/x86/xen/smp_pv.c +++ b/arch/x86/xen/smp_pv.c @@ -260,8 +260,11 @@ cpu_initialize_context(unsigned int cpu, struct task_struct *idle) return 0; ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); - if (ctxt == NULL) + if (ctxt == NULL) { + cpumask_clear_cpu(cpu, xen_cpu_initialized_map); + cpumask_clear_cpu(cpu, cpu_callout_mask); return -ENOMEM; + } gdt = get_cpu_gdt_rw(cpu); |