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

Re: [Xen-devel] [xen-unstable] Commit 2ca9fbd739b8a72b16dd790d0fff7b75f5488fb8 AMD IOMMU: allocate IRTE entries instead of using a static mapping, makes dom0 boot process stall several times.

>>> On 23.08.13 at 17:05, Sander Eikelenboom <linux@xxxxxxxxxxxxxx> wrote:

> Friday, August 23, 2013, 4:28:43 PM, you wrote:
>>>>> On 23.08.13 at 00:51, Sander Eikelenboom <linux@xxxxxxxxxxxxxx> wrote:
>>> After i got things working on baremetal Linux, i adjusted Xen and hardcoded 
>>> it to add a mapping for ioapic[6]=00:14.0.
>>> (the entries for ivrs_ioapic[7] and hpet[0] are actually correct in the 
>>> bios 
>>> tables, so they don't need correction for me at the moment)
>> Are you sure about the HPET part of this? I ask because that being
>> wrong could be an explanation for the stalls you see when using
>> cpuidle (as that could mean those HPET interrupts needed for
>> waking CPUs don't arrive).
>> Speaking of which - why don't you try whether when not using
>> FSB-capable HPET channels, the stalls go away? All you'd need
>> to change is hpet_fsb_cap_lookup() - it ought to return without
>> doing anything (i.e., if you look at the code, as if
>> acpi_gbl_FADT.boot_flags had ACPI_FADT_NO_MSI set).
> Ok adding:
> @@ -392,6 +392,9 @@ static void __init hpet_fsb_cap_lookup(void)
>      u32 id;
>      unsigned int i, num_chs;
> +    printk(XENLOG_INFO "SEIK HPET: return as if acpi_gbl_FADT.boot_flags & 
> +    return;
> +
>      if ( unlikely(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_MSI) )
>          return;
> Indeed made the stalls go away ..

So if this time you didn't leave a no-cpuidle in place somewhere ;-)
this makes relatively clear that the stalls are due to the interrupts
coming from the HPET not reaching their destinations. I still can't
connect this to the $subject commit yet, though.


Xen-devel mailing list



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