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

Re: [Xen-devel] [PATCH v3] x86: correct socket_cpumask allocation



On Fri, 2015-07-10 at 15:47 +0100, Andrew Cooper wrote:
> On 10/07/15 15:29, Dario Faggioli wrote:

> > (XEN) Xen call trace:
> > (XEN)    [<ffff82d0801886aa>] cpu_smpboot_free+0x2b/0x255
> > (XEN)    [<ffff82d080189225>] cpu_smpboot_callback+0x317/0x327
> > (XEN)    [<ffff82d08011c019>] notifier_call_chain+0x67/0x87
> > (XEN)    [<ffff82d08010153e>] cpu_down+0xd9/0x12c
> > (XEN)    [<ffff82d080101744>] disable_nonboot_cpus+0x93/0x138
> > (XEN)    [<ffff82d0801a8967>] enter_state_helper+0xbd/0x365
> > (XEN)    [<ffff82d080106212>] continue_hypercall_tasklet_handler+0x4a/0xb1
> > (XEN)    [<ffff82d08012f8ae>] do_tasklet_work+0x78/0xab
> > (XEN)    [<ffff82d08012fbe4>] do_tasklet+0x5e/0x8a
> > (XEN)    [<ffff82d0801617e0>] idle_loop+0x56/0x6b
> > (XEN) 
> > (XEN) Pagetable walk from ffff830b2072a5b8:
> > (XEN)  L4[0x106] = 00000000dba9a063 ffffffffffffffff
> > (XEN)  L3[0x02c] = 0000000000000000 ffffffffffffffff
> > (XEN) 
> > (XEN) ****************************************
> > (XEN) Panic on CPU 0:
> > (XEN) FATAL PAGE FAULT
> > (XEN) [error_code=0000]
> > (XEN) Faulting linear address: ffff830b2072a5b8
> > (XEN) ****************************************
> 
> Confirmed - this is also an issue for me.  It is only shutdown; reboot
> appears to be fine.
> 
I added this printk:

printk("  cpu=%u cpu_to_socket=%u\n", cpu, socket);

Right before this chunk of code, in cpu_smpboot_free():

    if ( cpumask_empty(socket_cpumask[socket]) )
    {
        xfree(socket_cpumask[socket]);
        socket_cpumask[socket] = NULL;
    }

And it says this:

...
(XEN) Preparing system for ACPI S5 state.
(XEN) Disabling non-boot CPUs ...
(XEN) Broke affinity for irq 9
(XEN)   cpu=1 cpu_to_socket=4294967295
(XEN) ----[ Xen-4.6-unstable  x86_64  debug=y  Tainted:    C ]----
(XEN) CPU:    0
(XEN) RIP:    e008:[<ffff82d0801886c2>] cpu_smpboot_free+0x43/0x28b
...

I.e., it looks like phys_proc_id has already been reset to
XEN_INVALID_SOCKET_ID, as we're kind-of racing with
remove_siblinginfo().

I'll keep looking, but not for too long... Chao, ping?

Dario
-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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