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

Re: [Xen-devel] Xen-unstable: pci-passthrough of device using MSI-X interrupts not working after commit x86/MSI: track host and guest masking separately



>>> On 26.06.15 at 17:04, <JBeulich@xxxxxxxx> wrote:
>>>> On 26.06.15 at 15:38, <linux@xxxxxxxxxxxxxx> wrote:
>> On 2015-06-26 14:41, Jan Beulich wrote:
>>>>>> On 26.06.15 at 13:02, <linux@xxxxxxxxxxxxxx> wrote:
>>>> Strange, i don't see *any* of your printk's being hit ... (xl dmesg
>>>> attached).
>>> 
>>> So does the guest (in the working case) use MSI-X at all for the
>>> device? I.e. it might be worth comparing the guest's /proc/interrupts
>>> from both cases, as the lack of any of the debug messages clearly
>>> suggests that such interrupts aren#t being set up.
>> 
>> In the good case it uses one of them.
>> (probably one per port and it has only one usb device connected at 
>> present)
>> 
>> --
>> Sander
>> 
>>           CPU0       CPU1       CPU2       CPU3
>>    0:         42          0          0          0   IO-APIC   2-edge      
> timer
>>[...]
>>   83:          8          0          0          0   xen-dyn-event     
>> eth0-q3-rx
>>   84:       2101          0          0          0  xen-pirq-msi-x    xhci_hcd
> 
> I think this explains it - you're running in PVHVM mode, which I
> never tried with those patches. I'd even have to go dig to see how
> they drive MSI-X in the first place in that case.

I have an idea: In

static unsigned int startup_msi_irq(struct irq_desc *desc)
{
    bool_t guest_masked = (desc->status & IRQ_GUEST) &&
                          is_hvm_domain(desc->msi_desc->dev->domain);

    if ( unlikely(!msi_set_mask_bit(desc, 0, guest_masked)) )
        WARN();
    return 0;
}

I think we need to also exclude the emuirq case (which is what I
understand backs the pvhvm interrupt in the guest - Stefano,
please confirm). For testing purposes, could you try simply passing
zero instead of guest_masked here?

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