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