On Fri, Feb 02, 2018 at 02:19:01PM +0530, Kashyap Desai wrote:
> > > > > Today I am looking at one megaraid_sas related issue, and found
> > > > > pci_alloc_irq_vectors(PCI_IRQ_AFFINITY) is used in the driver, so
> > > > > looks each reply queue has been handled by more than one CPU if
> > > > > there are more CPUs than MSIx vectors in the system, which is done
> > > > > by generic irq affinity code, please see kernel/irq/affinity.c.
> > >
> > > Yes. That is a problematic area. If CPU and MSI-x(reply queue) is 1:1
> > > mapped, we don't have any issue.
> > I guess the problematic area is similar with the following link:
> > https://marc.info/?l=linux-kernel&m=151748144730409&w=2
> Hi Ming,
> Above mentioned link is different discussion and looks like a generic
> issue. megaraid_sas/mpt3sas will have same symptoms if irq affinity has
> only offline CPUs.
If you convert to SCSI_MQ/MQ, it is a generic issue, which is solved
by a generic solution, otherwise now it is driver's responsibility to make
sure to not use the reply queue in which no online CPUs is mapped.
> Just for info - "In such condition, we can ask users to disable affinity
> hit via module parameter " smp_affinity_enable".
Yeah, that is exactly what I suggested to our QE friend.
> > otherwise could you explain a bit about the area?
> Please check below post for more details.
Seems SCSI_MQ/MQ can solve this issue, and I have replied on the above link,
we can discuss on that thread further.