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

Re: [Xen-devel] ERST problems



>>> On 22.03.13 at 00:22, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
> Hello,
> 
> When debugging ERST boot time hangs, the following debugging proved
> interesting
> 
> From a Dell Poweredge 2950 with latest BIOS:
> 
> (XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
> (XEN) ACPI: HPET id: 0x8086a201 base: 0xfed00000
> (XEN) erst_init()
> (XEN) Found ERST
> (XEN) ERST is good
> (XEN) About to exec ctx_init()
> (XEN) About to exec pre map
> (XEN) Starting apei_exec_for_each_entry().  ctx->entries = 15
> (XEN)  .. i = 0, entry = 0xffff82c3ffd7ab48, ins = 0x3
> (XEN)  .. i = 1, entry = 0xffff82c3ffd7ab68, ins = 0x3
> (XEN)  .. i = 2, entry = 0xffff82c3ffd7ab88, ins = 0x3
> (XEN)  .. i = 3, entry = 0xffff82c3ffd7aba8, ins = 0x3
> (XEN)  .. i = 4, entry = 0xffff82c3ffd7abc8, ins = 0x2
> (XEN)  .. i = 5, entry = 0xffff82c3ffd7abe8, ins = 0x3
> (XEN)  .. i = 6, entry = 0xffff82c3ffd7ac08, ins = 0x3
> (XEN)  .. i = 7, entry = 0xffff82c3ffd7ac28, ins = 0x3
> (XEN)  .. i = 8, entry = 0xffff82c3ffd7ac48, ins = 0x1
> (XEN)  .. i = 9, entry = 0xffff82c3ffd7ac68, ins = 0x0
> (XEN)  .. i = 10, entry = 0xffff82c3ffd7ac88, ins = 0x0
> (XEN)  .. i = 11, entry = 0xffff82c3ffd7aca8, ins = 0x2
> (XEN)  .. i = 12, entry = 0xffff82c3ffd7acc8, ins = 0x0
> (XEN)  .. i = 13, entry = 0xffff82c3ffd7ace8, ins = 0x3
> (XEN)  .. i = 14, entry = 0xffff82c3ffd7ad08, ins = 0x3
> (XEN) About to get range
> (XEN) in erst_get_erange()
> (XEN)   range->base = 0xffff83007fb4f0a0
> (XEN)   range->size = 0xffff83007fb4f0a0
> (XEN)   range->attr = 0x7fb4f0a0
> (XEN) About to pre map (0xffff83007fb4f0a0, 0xffff83007fb4f0a0)
> (XEN) Error -12, about to unmap gars
> (XEN) Starting apei_exec_for_each_entry().  ctx->entries = 15
> (XEN)  .. i = 0, entry = 0xffff82c3ffd7ab48, ins = 0x3
> (XEN)   apei_post_unmap_gar(0xffff82c3ffd7ab4c)... . aok
> (XEN)  .. i = 1, entry = 0xffff82c3ffd7ab68, ins = 0x3
> (XEN)   apei_post_unmap_gar(0xffff82c3ffd7ab6c)... . aok
> (XEN)  .. i = 2, entry = 0xffff82c3ffd7ab88, ins = 0x3
> (XEN)   apei_post_unmap_gar(0xffff82c3ffd7ab8c)... .
> 
> The hang at this point turns out to be trivial mis-locking issue, and I
> have submitted a patch to fix it.
> 
> However, this debugging shows that erst_get_erange() is clearly
> returning junk, causing apei_pre_map() to fail.

If I'm getting this right, the three apei_exec_run()s there just do
nothing, leaving the output uninitialized. That's because the
ERST table doesn't contain instructions for the three actions
involved here.

All we appear to be missing in this case is Linux commit
eecf2f7124834dd1cad21807526a8ea031ba8217. I'll get that
ported over...

Jan


_______________________________________________
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®.