* [PATCH] genirq: Honor user provided affinity
@ 2024-08-06 7:20 Shay Drory
2024-08-07 15:32 ` [tip: irq/urgent] genirq/irqdesc: Honor caller provided affinity in alloc_desc() tip-bot2 for Shay Drory
0 siblings, 1 reply; 2+ messages in thread
From: Shay Drory @ 2024-08-06 7:20 UTC (permalink / raw)
To: tglx; +Cc: linux-kernel, Shay Drory
Currently, whenever user is providing affinity for an IRQ, genirq layer
is ignoring it and assigning the default affinity for the IRQ.
Fix it by honor the user input.
Fixes: 45ddcecbfa94 ("genirq: Use affinity hint in irqdesc allocation")
Signed-off-by: Shay Drory <shayd@nvidia.com>
---
kernel/irq/irqdesc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 07e99c936ba5..1dee88ba0ae4 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -530,6 +530,7 @@ static int alloc_descs(unsigned int start, unsigned int cnt, int node,
flags = IRQD_AFFINITY_MANAGED |
IRQD_MANAGED_SHUTDOWN;
}
+ flags |= IRQD_AFFINITY_SET;
mask = &affinity->mask;
node = cpu_to_node(cpumask_first(mask));
affinity++;
--
2.38.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* [tip: irq/urgent] genirq/irqdesc: Honor caller provided affinity in alloc_desc()
2024-08-06 7:20 [PATCH] genirq: Honor user provided affinity Shay Drory
@ 2024-08-07 15:32 ` tip-bot2 for Shay Drory
0 siblings, 0 replies; 2+ messages in thread
From: tip-bot2 for Shay Drory @ 2024-08-07 15:32 UTC (permalink / raw)
To: linux-tip-commits
Cc: Shay Drory, Thomas Gleixner, stable, x86, linux-kernel, maz
The following commit has been merged into the irq/urgent branch of tip:
Commit-ID: edbbaae42a56f9a2b39c52ef2504dfb3fb0a7858
Gitweb: https://git.kernel.org/tip/edbbaae42a56f9a2b39c52ef2504dfb3fb0a7858
Author: Shay Drory <shayd@nvidia.com>
AuthorDate: Tue, 06 Aug 2024 10:20:44 +03:00
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Wed, 07 Aug 2024 17:27:00 +02:00
genirq/irqdesc: Honor caller provided affinity in alloc_desc()
Currently, whenever a caller is providing an affinity hint for an
interrupt, the allocation code uses it to calculate the node and copies the
cpumask into irq_desc::affinity.
If the affinity for the interrupt is not marked 'managed' then the startup
of the interrupt ignores irq_desc::affinity and uses the system default
affinity mask.
Prevent this by setting the IRQD_AFFINITY_SET flag for the interrupt in the
allocator, which causes irq_setup_affinity() to use irq_desc::affinity on
interrupt startup if the mask contains an online CPU.
[ tglx: Massaged changelog ]
Fixes: 45ddcecbfa94 ("genirq: Use affinity hint in irqdesc allocation")
Signed-off-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/all/20240806072044.837827-1-shayd@nvidia.com
---
kernel/irq/irqdesc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 07e99c9..1dee88b 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -530,6 +530,7 @@ static int alloc_descs(unsigned int start, unsigned int cnt, int node,
flags = IRQD_AFFINITY_MANAGED |
IRQD_MANAGED_SHUTDOWN;
}
+ flags |= IRQD_AFFINITY_SET;
mask = &affinity->mask;
node = cpu_to_node(cpumask_first(mask));
affinity++;
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-08-07 15:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-06 7:20 [PATCH] genirq: Honor user provided affinity Shay Drory
2024-08-07 15:32 ` [tip: irq/urgent] genirq/irqdesc: Honor caller provided affinity in alloc_desc() tip-bot2 for Shay Drory
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®