[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] ERST problems
On 21/03/13 23:22, Andrew Cooper 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. > > While in this case it is easy to identify the junk size parameter as it > is far greater than the system RAM (32G), I am not sure this is > necessarily the best approach to try and validate the information. Is > there anything else we could sensibly do? > > At the very least, erst_init() should not silently ignore its failures. > > ~Andrew In case you are wondering, attached is the complete acpidump from the server in question, and I have pre-extracted the ERST and EINJ tables. ~Andrew Attachment:
dell-poweredge-2950.tar.gz _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |