<div dir="ltr">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).<br><br>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.<br><br><div><a href="http://apollo.backplane.com/DFlyMisc/nvme_sys01.txt">http://apollo.backplane.com/DFlyMisc/nvme_sys01.txt</a><br><br></div><div>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.<br></div><div><br></div><div>-Matt<br><br></div></div>