|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/3] xen: cpupools: avoid crashing if shutting down with free CPUs
On 05/08/2015 03:12 PM, Dario Faggioli wrote: On Fri, 2015-05-08 at 12:47 +0200, Juergen Gross wrote:On 05/08/2015 12:34 PM, Jan Beulich wrote:(XEN) Xen call trace: (XEN) [<ffff82d080101531>] cpu_up+0xaf/0xfe (XEN) [<ffff82d080101733>] enable_nonboot_cpus+0x4f/0xfc (XEN) [<ffff82d0801a6a8d>] enter_state_helper+0x2cb/0x370 (XEN) [<ffff82d08010615f>] continue_hypercall_tasklet_handler+0x4a/0xb1 (XEN) [<ffff82d08013101d>] do_tasklet_work+0x78/0xab (XEN) [<ffff82d08013134c>] do_tasklet+0x5e/0x8a (XEN) [<ffff82d080161bcb>] idle_loop+0x56/0x70 (XEN) (XEN) (XEN) **************************************** (XEN) Panic on CPU 0: (XEN) Xen BUG at cpu.c:149 (XEN) ****************************************Which would seem to more likely be a result of patch 2. Having taken a closer look - is setting ret to -EINVAL at the top of cpupool_cpu_add() really correct? I.e. it is guaranteed that at least one of the two places altering ret will always be run into? If it is, then I'd still suspect one of the two cpupool_assign_cpu_locked() invocations to be failing.Indeed.Not really. Well, the problem is, of course, related, as your test shows, and I now see why this happens, but it's all patch 3 fault (see below). So what's in tree right now is ok and there is no need to revert. I believe the best thing to do is for me to send a new, fixed, version of patch 3. The fix would probably still be just changing "int ret = -EINVAL" to "int ret = 0" in cpupool_cpu_add(), but that should be done within patch 3, not as a fix to patch 2, which was indeed right. What do you both think?Setting ret to 0 initially does the trick. I don't mind how you are doing it. The machine crashed even without patch 2 when suspending with at least one free cpu, so this patch isn't making anything worse. You can still apply my 2 *.by: tags, of course. Juergen _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |