Re: PCI passthrough resource remapping

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

 



2010/3/31 Alexander Graf <agraf@xxxxxxx>:
>
> On 31.03.2010, at 00:27, Kenni Lund wrote:
>
>> 2010/3/30 Chris Wright <chrisw@xxxxxxxxxx>:
>>> * Kenni Lund (kenni@xxxxxxx) wrote:
>>>> Client dmesg: http://pastebin.com/uNG4QK5j
>>>> Host dmesg: http://pastebin.com/jZu3WKZW
>>>>
>>>> I just verified it and I do get the call trace in the host (which
>>>> disables IRQ 19, used by the PCI USB card), exactly at the same second
>>>
>>> It looks like IRQ 19 is shared between the ehci controller and the
>>> ivtv tuner.  What do you see in /proc/interrupts on the host (before
>>> you unbind and after you bind to pci stub)?
>>
>> Ahh, and even if the ivtv module is not loaded, I will still have a
>> shared IRQ, right? I didn't see ivtv in /proc/interrupts before, as I
>> unload the ivtv driver on boot in /etc/rc.local, before unbinding the
>> ivtv tuner and binding it to pci stub. (the ivtv tuner is normally
>> assigned to the same guest, but not now while testing the PCI USB
>> card).
>>
>> If I don't unload (and unbind/bind) the ivtv driver/tuner on boot in
>> /etc/local, I get the following in /proc/interrupts on a clean boot:
>> http://pastebin.com/SFQj58LC
>>
>> If I now unbind and bind the PCI USB card to pci stub, I get no
>> changes in /proc/interrupts.
>>
>> So I suppose I'll need to get rid of this shared IRQ before I can
>> conclude anything on the patch in git. Hmm, is there some cleaver way
>> of fixing this in Linux, or do I have to fix it by changing BIOS IRQ
>> settings, disabling hardware and/or moving the hardware around in
>> various PCI slots?
>
> The easiest thing coming to mind is to unplug the ivtv card for now. It's really only to verify that the patch does something useful :-).

This was not sufficient. Same issue with the ivtv card unplugged...if
I interpret the content of /proc/interrupt correctly, the USB PCI
cards uses 4 IRQs and out of these three IRQs are still shared with
other components.

The card uses IRQ 16, 18, 19, 20:
pci-stub 0000:02:01.0: PCI INT B -> GSI 18 (level, low) -> IRQ 18
pci-stub 0000:02:01.1: PCI INT C -> GSI 16 (level, low) -> IRQ 16
pci-stub 0000:02:01.2: PCI INT D -> GSI 20 (level, low) -> IRQ 20
pci-stub 0000:02:01.3: PCI INT A -> GSI 19 (level, low) -> IRQ 19

Only IRQ 20 gets "kvm_assigned_intx_device" after
unbinding+binding+qemu-kvm launch:
interrupts before: http://pastebin.com/DdJEv29z
interrupts after: http://pastebin.com/zasWEZsL

It seems like i still have shared IRQs with the onboard USB controller
as well as the PATA controller. In the BIOS i have the option of
setting the IRQ of "PCI Card 1" and "PCI Card 2". I tried changing
these into IRQ 10 and 11 (which are free according to
/proc/interrupts), but it changed absolutely nothing in
/proc/interrupts after booting(?) :-(

Any kind of hint which could lead me in hte right direction, would be
highly appreciated...thanks.

Best Regards
Kenni
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux