git: nvme - Implement MSIX and reverse comq mapping
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Jun 5 20:43:33 PDT 2016
commit 18d2384b5921bf30fe7665539efd40b40f7df232
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Jun 5 20:41:00 2016 -0700
nvme - Implement MSIX and reverse comq mapping
* Implement MSIX. Map completion queues to cpus via a rotation.
* Adjust the comq mapping code. For now prioritize assigning a 1:1 cpu
mapping for submission and completion queues over creating separate
queues for reads and writes.
* Tested, systat -pv 1 shows this is capable of pushing 50,000+ interrupts
per second on EACH cpu (all 8 in the xeon box I tested), and run
250,000 IOPS x 2 cards (500,000 IOPS) using interrupt based comq handling.
Summary of changes:
sys/dev/disk/nvme/nvme.c | 57 ++++++++++++++++++++---
sys/dev/disk/nvme/nvme.h | 8 ++--
sys/dev/disk/nvme/nvme_admin.c | 78 +++++++++++++++++++++----------
sys/dev/disk/nvme/nvme_attach.c | 101 +++++++++++++++++++++++++++++++++++-----
4 files changed, 199 insertions(+), 45 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/18d2384b5921bf30fe7665539efd40b40f7df232
--
DragonFly BSD source repository
More information about the Commits
mailing list