-----Original Message----- Subject: Re: [PATCH] hpsa: add module parameter to disable irq affinity On 1/8/19 10:16 PM, Don.Brace@xxxxxxxxxxxxx wrote: > On 12/3/18 11:35 PM, Don Brace wrote: >> The PCI_IRQ_AFFINITY flag prevents customers from changing the >> smp_affinity and smp_affinity_list entries. >> >> - add a module parameter to allow this flag to be turned >> off. >> >> - to turn off PCI_IRQ_AFFINITY: >> flag hpsa_disable_irq_affinity=1 >> >> Reviewed-by: David Carroll <david.carroll@xxxxxxxxxxxxx> >> Reviewed-by: Scott Teel <scott.teel@xxxxxxxxxxxxx> >> Signed-off-by: Don Brace <don.brace@xxxxxxxxxxxxx> >> --- >> drivers/scsi/hpsa.c | 13 ++++++++++--- >> 1 file changed, 10 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index >> c9cccf35e9d7..0aa5aa66151f 100644 >> --- a/drivers/scsi/hpsa.c >> +++ b/drivers/scsi/hpsa.c >> @@ -87,6 +87,10 @@ static int hpsa_simple_mode; >> module_param(hpsa_simple_mode, int, S_IRUGO|S_IWUSR); >> MODULE_PARM_DESC(hpsa_simple_mode, >> "Use 'simple mode' rather than 'performant mode'"); >> +static bool hpsa_disable_irq_affinity; >> +module_param(hpsa_disable_irq_affinity, bool, S_IRUGO|S_IWUSR); >> +MODULE_PARM_DESC(hpsa_disable_irq_affinity, >> + "Turn off managed irq affinity. Allows smp_affinity to be >> +changed."); >> > > Is there a better method? > Shouldn't we rather figure out what is triggering the I/O error? Have you checked that we're not running into the issue discussed in the thread 'scsi: hpsa: fix selection of reply queue' ? Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg) --- The issue is that in kernel/irq/proc.c function write_irq_affinity there is a check to see if the affinity can be changed. This fails with -EIO because interrupts are managed. There are customers who want to be able to change affinity for application performance reasons. Note that there are other drivers which also unset the PCI_IRQ_AFFINITY flag for similar reasons.