Note2: this restores the side effect fcf42409c6e1 ("bnxt_en: use
irq_update_affinity_hint()") removed, but not the problem it was
fixing. The complaint there was that reopening the device resets
the affinity and can move an IRQ onto a CPU irqbalance was told
to stay away from. We now replay what user space or irqbalance
last asked for, the driver's own placement is only used for
a ring nobody has configured.
Spl thanks for this Note2. This saved me time!
Note3: the combined irq_set_affinity_and_hint() looks like
it may hide the failure from __irq_set_affinity(), but let's
assume the IRQ maintainers know what their doing - either
this can't happen or is intentional.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 11 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 95 +++++++++++++++++------
2 files changed, 80 insertions(+), 26 deletions(-)
LGTM.
Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com>