[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/4] hw/nvme: add option to (de)assert irq with eventfd
From: |
Klaus Jensen |
Subject: |
Re: [PATCH 2/4] hw/nvme: add option to (de)assert irq with eventfd |
Date: |
Tue, 16 Aug 2022 13:20:10 +0200 |
On Aug 11 23:37, Jinhao Fan wrote:
> When the new option 'irq-eventfd' is turned on, the IO emulation code
> signals an eventfd when it want to (de)assert an irq. The main loop
> eventfd handler does the actual irq (de)assertion. This paves the way
> for iothread support since QEMU's interrupt emulation is not thread
> safe.
>
> Asserting and deasseting irq with eventfd has some performance
> implications. For small queue depth it increases request latency but
> for large queue depth it effectively coalesces irqs.
>
> Comparision (KIOPS):
>
> QD 1 4 16 64
> QEMU 38 123 210 329
> irq-eventfd 32 106 240 364
>
> Signed-off-by: Jinhao Fan <fanjinhao21s@ict.ac.cn>
> ---
> hw/nvme/ctrl.c | 89 ++++++++++++++++++++++++++++++++++++++++++++++++--
> hw/nvme/nvme.h | 4 +++
> 2 files changed, 90 insertions(+), 3 deletions(-)
>
> diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
> index bd3350d7e0..8a1c5ce3e1 100644
> --- a/hw/nvme/ctrl.c
> +++ b/hw/nvme/ctrl.c
> @@ -7675,6 +7757,7 @@ static Property nvme_props[] = {
> DEFINE_PROP_BOOL("use-intel-id", NvmeCtrl, params.use_intel_id, false),
> DEFINE_PROP_BOOL("legacy-cmb", NvmeCtrl, params.legacy_cmb, false),
> DEFINE_PROP_BOOL("ioeventfd", NvmeCtrl, params.ioeventfd, false),
> + DEFINE_PROP_BOOL("irq-eventfd", NvmeCtrl, params.irq_eventfd, false),
This option does not seem to change anything - the value is never used
;)
signature.asc
Description: PGP signature
Re: [PATCH 0/4] hw/nvme: add irqfd support, Jinhao Fan, 2022/08/15