On Jul 20 17:00, Jinhao Fan wrote: > Add an option "iothread=x" to do emulation in a seperate iothread. > This improves the performance because QEMU's main loop is responsible > for a lot of other work while iothread is dedicated to NVMe emulation. > Moreover, emulating in iothread brings the potential of polling on > SQ/CQ doorbells, which I will bring up in a following patch. > > Iothread can be enabled by: > -object iothread,id=nvme0 \ > -device nvme,iothread=nvme0 \ > > Performance comparisons (KIOPS): > > QD 1 4 16 64 > QEMU 41 136 242 338 > iothread 53 155 245 309 > > Signed-off-by: Jinhao Fan <fanjinhao...@ict.ac.cn> > --- > hw/nvme/ctrl.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++---- > hw/nvme/ns.c | 19 +++++++++--- > hw/nvme/nvme.h | 6 +++- > 3 files changed, 95 insertions(+), 10 deletions(-) >
Jinhao, Are you gonna respin this based on the irqfd patches? I suggest you just add this work on top and post a series that is irqfd+iothread. Then, if we find the irqfd ready for merge, we can pick that up for the next release cycle early and continue on iothread work.
signature.asc
Description: PGP signature