git: kernel - Flesh out nvme interrupts (non-msi for now)
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Jun 4 23:58:25 PDT 2016
commit 7e78206475eb3f2634ed628a6a86440fd26208b4
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Jun 4 23:45:59 2016 -0700
kernel - Flesh out nvme interrupts (non-msi for now)
* MSI/MSIX not working currently so just turn it off for the moment.
* Normal interrupt now operational. Implement a real nvme_intr() and
Cleanup some of our polling hacks now that interrupts work.
* Rearrange shutdown so admin polling continues to work while the devfs
disk infrastructure is being torn down.
* Tests with this little samsung mini-pcie nvme card:
120,000 IOPS (concurrent 512 byte dd)
1.5 GBytes/sec (sequential read uncompressable file through filesystem)
1.5 GBytes/sec reading via tar.
test40# ls -la /mnt2/test.dat
-rw-r--r-- 1 root wheel 7516192768 Jun 4 23:50 /mnt2/test.dat
test40# time tar cf /dev/null /mnt2/test.dat
0.062u 3.937s 0:04.84 82.4% 28+69k 28642+0io 0pf+0w (from media)
0.164u 1.367s 0:01.81 83.9% 29+71k 978+0io 0pf+0w (from buffer cache)
Summary of changes:
sys/dev/disk/nvme/nvme.c | 22 ++++++----
sys/dev/disk/nvme/nvme.h | 5 ++-
sys/dev/disk/nvme/nvme_admin.c | 90 +++++++++++++++++++++++++++++------------
sys/dev/disk/nvme/nvme_attach.c | 46 +++++++++++++--------
4 files changed, 113 insertions(+), 50 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7e78206475eb3f2634ed628a6a86440fd26208b4
--
DragonFly BSD source repository
More information about the Commits
mailing list