Initial NVME driver for DragonFly committed to master

Matthew Dillon dillon at
Sun Jun 5 23:08:19 PDT 2016

Sephe and I got MSI-X interrupts working on the nvme driver and it is now
very nicely distributing queues and interrupts between CPUs.  Updated
statistics can be found here.  Note that these tests are on a different
machine than my original posting (this machine's PCIe bus is older and
limited to 1.5 GBytes/sec with these cards).  Also note that the tests here
are a bit more sophisticated.  I am doing both sequential and random reads,
and most of the tests are on a partition that has been filled with
/dev/urandom (i.e. real data, not zero-fill).

In addition, I test up to 32 processes which is needed to keep the queues
filled when 8 cpu cores are chomping on things, and I committed a change to
the nvme driver to map the cores:queues 1:1 when possible (which it could
do on this machine).  These tests are mostly being done with two
controllers rather than one, and come tuesday I'll have a few more nvme
cards to play with and can see how four controllers work in tandem.

I am very impressed at the random read IOPS.  With enough processes to
filli in the latency gaps things look great, and there is almost no
contention and virtually no IPIs going between cpus.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Users mailing list