Re: [PATCH v4 0/9] KVM: Improve IRQ assignment for device passthrough

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

 



Am 16.11.2010 17:55, Marcelo Tosatti wrote:
> On Mon, Nov 08, 2010 at 12:21:44PM +0100, Jan Kiszka wrote:
>> Nine patches (yeah, it's getting more and more) to improve "classic"
>> device assigment /wrt IRQs. Highlight is the last one that resolves the
>> host IRQ sharing issue for all PCI 2.3 devices. Quite essential when
>> passing non-MSI-ready devices like many USB host controllers.
>>
>> As there were concerns regarding the overhead of IRQ masking via the PCI
>> config space, I did some micro-benchmarks. Well, the concerns are valid:
>>
>> disable_irq_nosync:           ~600 cycles
>> pci_2_3_irq_check_and_mask:  ~6000 cycles (EHCI)
>>                             ~22000 cycles (AR9287, with peaks >100000)
>>
>> Specifically the varying impact of the device like in the Atheros case
>> is worrying (this device is actually known to cause horrible latencies
>> to the host, but who knows what other devices do). So I decided to go
>> with PCI-2.3 masking as default off in the to-be-sent qemu-kvm patch.
>> Maybe something to consider vor VFIO as well.
> 
> Looks fine to me. Michael, Alex? 
> 
> Also needs a rebase.

I think Avi wanted to explore possibilities to avoid host_pci_2_3=on|off
by switching between both modes on demand. I've some ideas, but still
need to look into design details. Given that this would have impact on
the ABI, I guess we better wait with merging 9/9.

Moreover, Avi preferred to skip the srcu conversion and run with a
simply lock across kvm_set_irq (just like we do now).

But I could offer to rebase and repost the independent rest of the
series tonight.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
--
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