On Mon, Jan 15, 2018 at 09:40:36AM -0800, Christoph Hellwig wrote: > On Tue, Jan 16, 2018 at 12:03:43AM +0800, Ming Lei wrote: > > Hi, > > > > These two patches fixes IO hang issue reported by Laurence. > > > > 84676c1f21 ("genirq/affinity: assign vectors to all possible CPUs") > > may cause one irq vector assigned to all offline CPUs, then this vector > > can't handle irq any more. > > Well, that very much was the intention of managed interrupts. Why > does the device raise an interrupt for a queue that has no online > cpu assigned to it? If pci_alloc_irq_vectors() returns OK, driver may think everything is just fine, and configure the related hw queues(such as enabling irq on queues), and finally irq comes and no CPU can handle them. Also I think there may not drivers which check if the CPUs assigned for irq vectors are online or not, and seems never a job which is supposed to do by driver. -- Ming