{"push_id":690574550,"size":1,"distinct_size":1,"ref":"refs/heads/msix-vector-striping","head":"5fd47e591eca9fb69186ca015cae73d93a6bdd86","before":"8b5e5178560e66778608a8ad6a1bed4d509b8210","commits":[{"sha":"5fd47e591eca9fb69186ca015cae73d93a6bdd86","author":{"email":"917606af52591c5f577e1967a7cec63969a8b755@intel.com","name":"Jon Derrick"},"message":"NVMe: Stripe queue IRQ vector assignments\n\nThis patch will stripe io queue IRQ vector assignments across the\navailable vector resources. This also changes the current implementation\nwhich reduces the number of io queues to the number of vectors enabled.\nThis fixes another issue where the admin queue and io queue 0 were\nunnecessarily sharing an vector.\n\nThe benefits of this are two-fold:\na) There is a known issue in one controller where irq coalescing cannot\noccur on vectors to which the admin queue is assigned. This patch assigns\nthe admin queue its own vector, as long as there are enough vectors\navailable to assign one to each io queue and the admin queue.\nb) If a suitable number of vector resources cannot be acquired to match\nthe number of io queues, the current implementation will reduce the\nnumber of io queues. There is a likely performance benefit to keeping\nthe number of io queues equal to the number of possible cpus, even if\nthe vectors have to be shared among the queues.\n\nSigned-off-by: Jon Derrick <jonathan.derrick@intel.com>","distinct":true,"url":"https://api.github.com/repos/jderrick/linux-block/commits/5fd47e591eca9fb69186ca015cae73d93a6bdd86"}]}