* [PATCH V2] megaraid_sas: clear affinity hint
@ 2020-07-09 13:31 Tomas Henzl
2020-07-21 3:02 ` Martin K. Petersen
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Tomas Henzl @ 2020-07-09 13:31 UTC (permalink / raw)
To: linux-scsi; +Cc: sumit.saxena, chandrakanth.patil, shivasharan.srikanteshwara
To avoid a warning in free_irq, clear the affinity hint.
Fixes: f0b9e7bdc309e8cc63a640009715626376e047c6 ("scsi: megaraid_sas: Set affinity for high IOPS reply queues")
Signed-off-by: Tomas Henzl <thenzl@redhat.com>
---
V2: Added 'Fixes' and low_latency_index_start check as
asked by Sumit.
drivers/scsi/megaraid/megaraid_sas_base.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index a378facdd..b40279ae5 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -5596,9 +5596,13 @@ megasas_setup_irqs_msix(struct megasas_instance *instance, u8 is_probe)
&instance->irq_context[i])) {
dev_err(&instance->pdev->dev,
"Failed to register IRQ for vector %d.\n", i);
- for (j = 0; j < i; j++)
+ for (j = 0; j < i; j++) {
+ if (j < instance->low_latency_index_start)
+ irq_set_affinity_hint(
+ pci_irq_vector(pdev, j), NULL);
free_irq(pci_irq_vector(pdev, j),
&instance->irq_context[j]);
+ }
/* Retry irq register for IO_APIC*/
instance->msix_vectors = 0;
instance->msix_load_balance = false;
@@ -5636,6 +5640,9 @@ megasas_destroy_irqs(struct megasas_instance *instance) {
if (instance->msix_vectors)
for (i = 0; i < instance->msix_vectors; i++) {
+ if (i < instance->low_latency_index_start)
+ irq_set_affinity_hint(
+ pci_irq_vector(instance->pdev, i), NULL);
free_irq(pci_irq_vector(instance->pdev, i),
&instance->irq_context[i]);
}
--
2.21.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH V2] megaraid_sas: clear affinity hint
2020-07-09 13:31 [PATCH V2] megaraid_sas: clear affinity hint Tomas Henzl
@ 2020-07-21 3:02 ` Martin K. Petersen
2020-07-21 6:00 ` Sumit Saxena
2020-07-22 4:28 ` Martin K. Petersen
2 siblings, 0 replies; 4+ messages in thread
From: Martin K. Petersen @ 2020-07-21 3:02 UTC (permalink / raw)
To: sumit.saxena
Cc: linux-scsi, chandrakanth.patil,
shivasharan.srikanteshwara@broadcom.com. Tomas Henzl
> To avoid a warning in free_irq, clear the affinity hint.
Sumit: Please review!
https://patchwork.kernel.org/patch/11654391/
Thanks!
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH V2] megaraid_sas: clear affinity hint
2020-07-09 13:31 [PATCH V2] megaraid_sas: clear affinity hint Tomas Henzl
2020-07-21 3:02 ` Martin K. Petersen
@ 2020-07-21 6:00 ` Sumit Saxena
2020-07-22 4:28 ` Martin K. Petersen
2 siblings, 0 replies; 4+ messages in thread
From: Sumit Saxena @ 2020-07-21 6:00 UTC (permalink / raw)
To: Tomas Henzl
Cc: Linux SCSI List, Chandrakanth Patil, Shivasharan Srikanteshwara
On Thu, Jul 9, 2020 at 7:01 PM Tomas Henzl <thenzl@redhat.com> wrote:
>
> To avoid a warning in free_irq, clear the affinity hint.
>
> Fixes: f0b9e7bdc309e8cc63a640009715626376e047c6 ("scsi: megaraid_sas: Set affinity for high IOPS reply queues")
>
> Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Looks good to me.
Acked-by: Sumit Saxena <sumit.saxena@broadcom.com>
> ---
> V2: Added 'Fixes' and low_latency_index_start check as
> asked by Sumit.
>
> drivers/scsi/megaraid/megaraid_sas_base.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
> index a378facdd..b40279ae5 100644
> --- a/drivers/scsi/megaraid/megaraid_sas_base.c
> +++ b/drivers/scsi/megaraid/megaraid_sas_base.c
> @@ -5596,9 +5596,13 @@ megasas_setup_irqs_msix(struct megasas_instance *instance, u8 is_probe)
> &instance->irq_context[i])) {
> dev_err(&instance->pdev->dev,
> "Failed to register IRQ for vector %d.\n", i);
> - for (j = 0; j < i; j++)
> + for (j = 0; j < i; j++) {
> + if (j < instance->low_latency_index_start)
> + irq_set_affinity_hint(
> + pci_irq_vector(pdev, j), NULL);
> free_irq(pci_irq_vector(pdev, j),
> &instance->irq_context[j]);
> + }
> /* Retry irq register for IO_APIC*/
> instance->msix_vectors = 0;
> instance->msix_load_balance = false;
> @@ -5636,6 +5640,9 @@ megasas_destroy_irqs(struct megasas_instance *instance) {
>
> if (instance->msix_vectors)
> for (i = 0; i < instance->msix_vectors; i++) {
> + if (i < instance->low_latency_index_start)
> + irq_set_affinity_hint(
> + pci_irq_vector(instance->pdev, i), NULL);
> free_irq(pci_irq_vector(instance->pdev, i),
> &instance->irq_context[i]);
> }
> --
> 2.21.3
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH V2] megaraid_sas: clear affinity hint
2020-07-09 13:31 [PATCH V2] megaraid_sas: clear affinity hint Tomas Henzl
2020-07-21 3:02 ` Martin K. Petersen
2020-07-21 6:00 ` Sumit Saxena
@ 2020-07-22 4:28 ` Martin K. Petersen
2 siblings, 0 replies; 4+ messages in thread
From: Martin K. Petersen @ 2020-07-22 4:28 UTC (permalink / raw)
To: Tomas Henzl, linux-scsi
Cc: Martin K . Petersen, sumit.saxena, shivasharan.srikanteshwara,
chandrakanth.patil
On Thu, 9 Jul 2020 15:31:44 +0200, Tomas Henzl wrote:
> To avoid a warning in free_irq, clear the affinity hint.
>
> Fixes: f0b9e7bdc309e8cc63a640009715626376e047c6 ("scsi: megaraid_sas: Set affinity for high IOPS reply queues")
Applied to 5.9/scsi-queue, thanks!
[1/1] scsi: megaraid_sas: Clear affinity hint
https://git.kernel.org/mkp/scsi/c/925230b8723f
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-07-22 4:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-09 13:31 [PATCH V2] megaraid_sas: clear affinity hint Tomas Henzl
2020-07-21 3:02 ` Martin K. Petersen
2020-07-21 6:00 ` Sumit Saxena
2020-07-22 4:28 ` Martin K. Petersen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.