On Tue, 2018-03-13 at 17:42 +0800, Ming Lei wrote:
> From 84676c1f21 (genirq/affinity: assign vectors to all possible CPUs),
> one msix vector can be created without any online CPU mapped, then
> command may be queued, and won't be notified after its completion.
> 
> This patch setups mapping between cpu and reply queue according to irq
> affinity info retrived by pci_irq_get_affinity(), and uses this info
> to choose reply queue for queuing one command.
> 
> Then the chosen reply queue has to be active, and fixes IO hang caused
> by using inactive reply queue which doesn't have any online CPU mapped.
> 
> Cc: Hannes Reinecke <[email protected]>
> Cc: "Martin K. Petersen" <[email protected]>,
> Cc: James Bottomley <[email protected]>,
> Cc: Christoph Hellwig <[email protected]>,
> Cc: Don Brace <[email protected]>
> Cc: Kashyap Desai <[email protected]>
> Cc: Laurence Oberman <[email protected]>
> Cc: Mike Snitzer <[email protected]>
> Cc: Meelis Roos <[email protected]>
> Cc: Artem Bityutskiy <[email protected]>
> Fixes: 84676c1f21e8 ("genirq/affinity: assign vectors to all possible CPUs")
> Signed-off-by: Ming Lei <[email protected]>

Checked v5 my Skylake Xeon and with this patch the regression that I reported 
is fixed.

Tested-by: Artem Bityutskiy <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]

Reply via email to