diff options
author | Damien Le Moal <dlemoal@kernel.org> | 2025-03-13 11:22:18 +0300 |
---|---|---|
committer | Keith Busch <kbusch@kernel.org> | 2025-04-01 19:01:05 +0300 |
commit | ea7789c1541084a3dae65ffd36778348dd98f61b (patch) | |
tree | 120bc59e176c7a14f8712645cd88ebdd43773c0d /tools/perf/scripts/python/arm-cs-trace-disasm.py | |
parent | e3e68311ead15d8be61e8e1a8d2f0d1773a7ba9c (diff) | |
download | linux-ea7789c1541084a3dae65ffd36778348dd98f61b.tar.xz |
nvmet: pci-epf: Keep completion queues mapped
Instead of mapping and unmapping the completion queues memory to the
host PCI address space whenever nvmet_pci_epf_cq_work() is called, map
a completion queue to the host PCI address space when the completion
queue is created with nvmet_pci_epf_create_cq() and unmap it when the
completion queue is deleted with nvmet_pci_epf_delete_cq().
This removes the completion queue mapping/unmapping from
nvmet_pci_epf_cq_work() and significantly increases performance. For
a single job 4K random read QD=1 workload, the IOPS is increased from
23 KIOPS to 25 KIOPS. Some significant throughput increasde for high
queue depth and large IOs workloads can also be seen.
Since the functions nvmet_pci_epf_map_queue() and
nvmet_pci_epf_unmap_queue() are called respectively only from
nvmet_pci_epf_create_cq() and nvmet_pci_epf_delete_cq(), these functions
are removed and open-coded in their respective call sites.
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/arm-cs-trace-disasm.py')
0 files changed, 0 insertions, 0 deletions