[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/4] hw/nvme: add irqfd support
From: |
Jinhao Fan |
Subject: |
[PATCH 0/4] hw/nvme: add irqfd support |
Date: |
Thu, 11 Aug 2022 23:37:35 +0800 |
This patch series changes qemu-nvme's interrupt emulation to use event
notifiers, which can ensure thread-safe interrupt delivery when iothread
is used. In the first two patches, I convert qemu-nvme's IO emulation
logic to send irq via eventfd, so that the actual assertion and
deassertion is always done in the main loop thread with BQL held. In the
third patch, support is added to send irq via KVM irqfd, bypassing
qemu's MSI-x emulation. In the last patch, I add MSI-x mask handlers
when irqfd is enabled so that qemu-nvme knows which vector is masked
even when qemu's MSI-x emulation is bypassed.
Jinhao Fan (4):
hw/nvme: avoid unnecessary call to irq (de)assertion functions
hw/nvme: add option to (de)assert irq with eventfd
hw/nvme: use irqfd to send interrupts
hw/nvme: add MSI-x mask handlers for irqfd
hw/nvme/ctrl.c | 251 +++++++++++++++++++++++++++++++++++++++----
hw/nvme/nvme.h | 7 ++
hw/nvme/trace-events | 3 +
3 files changed, 243 insertions(+), 18 deletions(-)
--
2.25.1
- [PATCH 0/4] hw/nvme: add irqfd support,
Jinhao Fan <=