Commit ea7789c
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>1 parent e3e6831 commit ea7789c
1 file changed
+25
-38
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1264 | 1264 | | |
1265 | 1265 | | |
1266 | 1266 | | |
| 1267 | + | |
1267 | 1268 | | |
1268 | 1269 | | |
1269 | 1270 | | |
| |||
1298 | 1299 | | |
1299 | 1300 | | |
1300 | 1301 | | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
| 1312 | + | |
| 1313 | + | |
| 1314 | + | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
1301 | 1320 | | |
1302 | 1321 | | |
1303 | 1322 | | |
1304 | 1323 | | |
1305 | 1324 | | |
1306 | 1325 | | |
1307 | 1326 | | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
1308 | 1331 | | |
1309 | 1332 | | |
1310 | 1333 | | |
| |||
1322 | 1345 | | |
1323 | 1346 | | |
1324 | 1347 | | |
| 1348 | + | |
1325 | 1349 | | |
1326 | 1350 | | |
1327 | 1351 | | |
| |||
1553 | 1577 | | |
1554 | 1578 | | |
1555 | 1579 | | |
1556 | | - | |
1557 | | - | |
1558 | | - | |
1559 | | - | |
1560 | | - | |
1561 | | - | |
1562 | | - | |
1563 | | - | |
1564 | | - | |
1565 | | - | |
1566 | | - | |
1567 | | - | |
1568 | | - | |
1569 | | - | |
1570 | | - | |
1571 | | - | |
1572 | | - | |
1573 | | - | |
1574 | | - | |
1575 | | - | |
1576 | | - | |
1577 | | - | |
1578 | | - | |
1579 | | - | |
1580 | | - | |
1581 | | - | |
1582 | | - | |
1583 | | - | |
1584 | | - | |
1585 | | - | |
1586 | 1580 | | |
1587 | 1581 | | |
1588 | 1582 | | |
| |||
1746 | 1740 | | |
1747 | 1741 | | |
1748 | 1742 | | |
1749 | | - | |
1750 | | - | |
1751 | | - | |
1752 | | - | |
1753 | | - | |
| 1743 | + | |
1754 | 1744 | | |
1755 | 1745 | | |
1756 | 1746 | | |
| |||
1797 | 1787 | | |
1798 | 1788 | | |
1799 | 1789 | | |
1800 | | - | |
1801 | | - | |
1802 | 1790 | | |
1803 | 1791 | | |
1804 | 1792 | | |
| |||
1807 | 1795 | | |
1808 | 1796 | | |
1809 | 1797 | | |
1810 | | - | |
1811 | 1798 | | |
1812 | 1799 | | |
1813 | 1800 | | |
| |||
0 commit comments