ionic: Keep interrupt affinity up to date
Currently the driver either sets the initial interrupt affinity for its adminq and tx/rx queues on probe or resets it on various down/up/reconfigure flows. If any user and/or user process (i.e. irqbalance) changes IRQ affinity for any of the driver's interrupts that will be reset to driver defaults whenever any down/up/reconfigure operation happens. This is incorrect and is fixed by making 2 changes: 1. Allocate an array of cpumasks that's only allocated on probe and destroyed on remove. 2. Update the cpumask(s) for interrupts that are in use by registering for affinity notifiers. Signed-off-by: Brett Creeley <brett.creeley@amd.com> Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> Link: https://lore.kernel.org/r/20240619003257.6138-3-shannon.nelson@amd.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
4aaa49a282
commit
d458d4b4fd
@@ -280,9 +280,9 @@ struct ionic_intr_info {
|
||||
u64 rearm_count;
|
||||
unsigned int index;
|
||||
unsigned int vector;
|
||||
unsigned int cpu;
|
||||
u32 dim_coal_hw;
|
||||
cpumask_t affinity_mask;
|
||||
cpumask_var_t *affinity_mask;
|
||||
struct irq_affinity_notify aff_notify;
|
||||
};
|
||||
|
||||
struct ionic_cq {
|
||||
|
||||
Reference in New Issue
Block a user