[tip: irq/core] genirq/affinity: Remove cpus_read_lock() while reading cpu_possible_mask

tip-bot2 for Sebastian Andrzej Siewior posted 1 patch 4 hours ago
kernel/irq/affinity.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
[tip: irq/core] genirq/affinity: Remove cpus_read_lock() while reading cpu_possible_mask
Posted by tip-bot2 for Sebastian Andrzej Siewior 4 hours ago
The following commit has been merged into the irq/core branch of tip:

Commit-ID:     34d85ad42604fbb5a8903488c6a7e2862e2d0254
Gitweb:        https://git.kernel.org/tip/34d85ad42604fbb5a8903488c6a7e2862e2d0254
Author:        Sebastian Andrzej Siewior <bigeasy@linutronix.de>
AuthorDate:    Wed, 01 Apr 2026 14:13:34 +02:00
Committer:     Thomas Gleixner <tglx@kernel.org>
CommitterDate: Wed, 01 Apr 2026 16:09:05 +02:00

genirq/affinity: Remove cpus_read_lock() while reading cpu_possible_mask

cpu_possible_mask is set early during boot based on information from the
firmware. After that it remains read only and is never changed.  Therefore
there is no need to acquire the CPU-hotplug lock while reading it.

Remove cpus_read_*() while accessing cpu_possible_mask.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260401121334.xeMOSC1v@linutronix.de
---
 kernel/irq/affinity.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/kernel/irq/affinity.c b/kernel/irq/affinity.c
index 85c45cf..78f2418 100644
--- a/kernel/irq/affinity.c
+++ b/kernel/irq/affinity.c
@@ -115,13 +115,10 @@ unsigned int irq_calc_affinity_vectors(unsigned int minvec, unsigned int maxvec,
 	if (resv > minvec)
 		return 0;
 
-	if (affd->calc_sets) {
+	if (affd->calc_sets)
 		set_vecs = maxvec - resv;
-	} else {
-		cpus_read_lock();
+	else
 		set_vecs = cpumask_weight(cpu_possible_mask);
-		cpus_read_unlock();
-	}
 
 	return resv + min(set_vecs, maxvec - resv);
 }