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

Re: [Xen-devel] [PATCH v2] xen: cpupools: avoid crashing if shutting down with free CPUs

>>> On 12.05.15 at 15:03, <dario.faggioli@xxxxxxxxxx> wrote:
> in fact, before this change, shutting down or suspending the
> system with some CPUs not assigned to any cpupool, would
> crash as follows:
>   (XEN) Xen call trace:
>   (XEN)    [<ffff82d080101757>] disable_nonboot_cpus+0xb5/0x138
>   (XEN)    [<ffff82d0801a8824>] enter_state_helper+0xbd/0x369
>   (XEN)    [<ffff82d08010614a>] continue_hypercall_tasklet_handler+0x4a/0xb1
>   (XEN)    [<ffff82d0801320bd>] do_tasklet_work+0x78/0xab
>   (XEN)    [<ffff82d0801323f3>] do_tasklet+0x5e/0x8a
>   (XEN)    [<ffff82d080163cb6>] idle_loop+0x56/0x6b
>   (XEN)
>   (XEN)
>   (XEN) ****************************************
>   (XEN) Panic on CPU 0:
>   (XEN) Xen BUG at cpu.c:191
>   (XEN) ****************************************
> This is because, for free CPUs, -EBUSY were being returned
> when trying to tear them down, making cpu_down() unhappy.
> It is certainly unpractical to forbid shutting down or
> suspenging if there are unassigned CPUs, so this change
> fixes the above by just avoiding returning -EBUSY for those
> CPUs. If shutting off, that does not matter much anyway. If
> suspending, we make sure that the CPUs remain unassigned
> when resuming.
> While there, take the chance to:
>  - fix the doc comment of cpupool_cpu_remove() (it was
>    wrong);
>  - improve comments in general around and in cpupool_cpu_remove()
>    and cpupool_cpu_add();
>  - add a couple of ASSERT()-s for checking consistency.
> Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx>
> Cc: Juergen Gross <jgross@xxxxxxxx>
> Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Tim Deegan <tim@xxxxxxx>
> Cc: Keir Fraser <keir@xxxxxxx>
> Reviewed-by: Juergen Gross <jgross@xxxxxxxx>
> Tested-by: Juergen Gross <jgross@xxxxxxxx>

Could one or both of you confirm that this as well as the other patch
it was originally paired with ("cpupool: assigning a CPU to a pool can
fail") ought to be backported (presumably to both 4.5 and 4.4)


Xen-devel mailing list



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