[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 2/3] hw/nvme: use KVM irqfd when available
From: |
Keith Busch |
Subject: |
Re: [PATCH v2 2/3] hw/nvme: use KVM irqfd when available |
Date: |
Fri, 26 Aug 2022 09:54:32 -0600 |
On Fri, Aug 26, 2022 at 05:45:21PM +0200, Klaus Jensen wrote:
> On Aug 26 09:34, Keith Busch wrote:
> > On Fri, Aug 26, 2022 at 11:12:04PM +0800, Jinhao Fan wrote:
> > > Use KVM's irqfd to send interrupts when possible. This approach is
> > > thread safe. Moreover, it does not have the inter-thread communication
> > > overhead of plain event notifiers since handler callback are called
> > > in the same system call as irqfd write.
> > >
> > > Signed-off-by: Jinhao Fan <fanjinhao21s@ict.ac.cn>
> > > Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
> >
> > No idea what's going on here... This one is causing the following assert
> > failure with --enable-kvm:
> >
> > qemu-system-x86_64: ../accel/kvm/kvm-all.c:1781:
> > kvm_irqchip_commit_routes: Assertion `ret == 0' failed.
> >
> > I find it calls KVM_SET_GSI_ROUTING ioctl with gsi set to
> > KVM_IRQ_ROUTING_MSI,
> > and linux kernel returns EINVAL in that case. It's never set that way
> > without
> > this patch. Am I the only one seeing this?
>
> Argh, sorry, I threw that patch together a bit too quickly. I was just
> so pumped because I believed I had solved the issue hehe.
>
> Are you missing the ioeventfd=on and irq-eventfd=on parameters by any
> chance? Without those I'm also getting an assertion, but a different one
I had not enabled those yet. This was purely a regrsession test with my
previously working paramaters for a sanity check.
If I enable those new nvme parameters, then it is successful.
[PATCH v2 3/3] hw/nvme: add iothread support, Jinhao Fan, 2022/08/26