Skip to content

Commit

Permalink
net: mana: Fix IRQ name - add PCI and queue number
Browse files Browse the repository at this point in the history
The PCI and queue number info is missing in IRQ names.

Add PCI and queue number to IRQ names, to allow CPU affinity
tuning scripts to work.

Cc: stable@vger.kernel.org
Fixes: ca9c54d ("net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)")
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Link: https://lore.kernel.org/r/1674161950-19708-1-git-send-email-haiyangz@microsoft.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Haiyang Zhang authored and Jakub Kicinski committed Jan 21, 2023
1 parent f095040 commit 20e3028
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
9 changes: 8 additions & 1 deletion drivers/net/ethernet/microsoft/mana/gdma_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1259,13 +1259,20 @@ static int mana_gd_setup_irqs(struct pci_dev *pdev)
gic->handler = NULL;
gic->arg = NULL;

if (!i)
snprintf(gic->name, MANA_IRQ_NAME_SZ, "mana_hwc@pci:%s",
pci_name(pdev));
else
snprintf(gic->name, MANA_IRQ_NAME_SZ, "mana_q%d@pci:%s",
i - 1, pci_name(pdev));

irq = pci_irq_vector(pdev, i);
if (irq < 0) {
err = irq;
goto free_mask;
}

err = request_irq(irq, mana_gd_intr, 0, "mana_intr", gic);
err = request_irq(irq, mana_gd_intr, 0, gic->name, gic);
if (err)
goto free_mask;
irq_set_affinity_and_hint(irq, req_mask);
Expand Down
3 changes: 3 additions & 0 deletions include/net/mana/gdma.h
Original file line number Diff line number Diff line change
Expand Up @@ -336,9 +336,12 @@ struct gdma_queue_spec {
};
};

#define MANA_IRQ_NAME_SZ 32

struct gdma_irq_context {
void (*handler)(void *arg);
void *arg;
char name[MANA_IRQ_NAME_SZ];
};

struct gdma_context {
Expand Down

0 comments on commit 20e3028

Please sign in to comment.