On Thu, 2019-11-07 at 03:10 +0900, Keith Busch wrote: > On Wed, Nov 06, 2019 at 04:40:08AM -0700, Jon Derrick wrote: > > Using managed IRQ affinities sets up the VMD affinities identically to > > the child devices when those devices vector counts are limited by VMD. > > This promotes better affinity handling as interrupts won't necessarily > > need to pass context between non-local CPUs. One pre-vector is reserved > > for the slow interrupt and not considered in the affinity algorithm. > > This only works if all devices have exactly the same number of interrupts > as the parent VMD host bridge. If a child device has less, the device > will stop working if you offline a cpu: the child device may have a > resource affined to other online cpus, but the VMD device affinity is to > that single offline cpu. Yes that problem exists today and this set limits the exposure as it's a rare case where you have a child NVMe device with fewer than 32 vectors.