lkml.org 
[lkml]   [2015]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [Xen-devel] [PATCH v2] [Bugfix] x86/apic: Fix xen IRQ allocation failure caused by commit b81975eade8c
    On 13/01/15 02:23, Jiang Liu wrote:
    > On 2015/1/12 23:01, David Vrabel wrote:
    >> On 12/01/15 13:39, Jiang Liu wrote:
    >>> Commit b81975eade8c ("x86, irq: Clean up irqdomain transition code")
    >>> breaks xen IRQ allocation because xen_smp_prepare_cpus() doesn't invoke
    >>> setup_IO_APIC(), so no irqdomains created for IOAPICs and
    >>> mp_map_pin_to_irq() fails at the very beginning.
    >>>
    >>> Enhance xen_smp_prepare_cpus() to call setup_IO_APIC() to initialize
    >>> irqdomain for IOAPICs.
    >>
    >> Having Xen call setup_IO_APIC() to initialize the irq domains then having to
    >> add special cases to it is just wrong.
    >>
    >> The bits of init deferred by mp_register_apic() are also deferred to
    >> two different places which looks odd.
    >>
    >> What about something like the following (untested) patch?
    > Hi David,
    > Really appreciate your suggestions about Xen IOAPIC:)
    > Your patch solves the issue, but it will break a coming patch
    > set to enable hierarchy irqdomain on x86.

    For 3.19 I would recommend this patch. Since it's been tested and it's
    pretty small. Can you spin a version of this with a proper changelog.
    please?

    > To enable hierarchy irqdomain on x86, need to build
    > irqdomains in following order:
    > 1) create irqdomain for CPU vector domain
    > 2) create irqdomains for interrupt remapping unit if interrupt
    > remapping is enabled.
    > 3) create irqdomains for IOAPIC/MSI/HPET etc.
    >
    > Function arch_early_ioapic_init() is called before initializing
    > interrupt remapping subsystem. So creating IOAPIC irqdomains in
    > arch_early_ioapic_init() will break hierarchy irqdomain with
    > interrupt remapping enabled. I will post the x86 hierarchy
    > irqdomain patch soon.
    >
    > So could you please help to advice on:

    I don't know enough about this area to comment on these authoritatively
    and I don't have time to look into this in more detail right now, but to
    the best of my understanding.

    > 1) Is IOAPIC irqdomain needed for PV?

    PV dom0 only requires a mechanism to obtain properties of the IOAPIC
    interrupt lines. The actual physical interrupts are delivered to the
    hypervisor. It doesn't require any of the irq setup.

    > 2) Is IOAPIC irqdomain needed for HVM?

    Yes.

    > 3) Is IOAPIC irqdomain needed for Dom0?


    See (1) above.

    > 4) What's the proper hook point to create IOAPIC irqdomain for Xen
    > UP systems?

    Don't know.

    David


    \
     
     \ /
      Last update: 2015-01-13 11:21    [W:3.294 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site