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

Jan Kiszka
2010-11-16T18:26:29Z

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