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

Avi Kivity
2010-11-17T08:25:39Z

On 11/16/2010 08:26 PM, Jan Kiszka wrote:
> 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.

Indeed.

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

Yes. It was predicated on agreeing that deferring broadcast/multicast
IPIs to a workqueue is possible.

--
error compiling committee.c: too many arguments to function