On Thu, 2019-11-07 at 01:39 -0800, Christoph Hellwig wrote: > On Wed, Nov 06, 2019 at 04:40:05AM -0700, Jon Derrick wrote: > > This patchset optimizes VMD performance through the storage stack by locating > > commonly-affined NVMe interrupts on the same VMD interrupt handler lists. > > > > The current strategy of round-robin assignment to VMD IRQ lists can be > > suboptimal when vectors with different affinities are assigned to the same VMD > > IRQ list. VMD is an NVMe storage domain and this set aligns the vector > > allocation and affinity strategy with that of the NVMe driver. This invokes the > > kernel to do the right thing when affining NVMe submission cpus to NVMe > > completion vectors as serviced through the VMD interrupt handler lists. > > > > This set greatly reduced tail latency when testing 8 threads of random 4k reads > > against two drives at queue depth=128. After pinning the tasks to reduce test > > variability, the tests also showed a moderate tail latency reduction. A > > one-drive configuration also shows improvements due to the alignment of VMD IRQ > > list affinities with NVMe affinities. > > How does this compare to simplify disabling VMD? It's a moot point since Keith pointed out a few flaws with this set, however disabling VMD is not an option for users who wish to passthrough VMD