linux-stable/kernel/irq
Rei Yamamoto bcc6ac85e8 genirq/affinity: Consider that CPUs on nodes can be unbalanced
commit 08d835dff9 upstream.

If CPUs on a node are offline at boot time, the number of nodes is
different when building affinity masks for present cpus and when building
affinity masks for possible cpus. This causes the following problem:

In the case that the number of vectors is less than the number of nodes
there are cases where bits of masks for present cpus are overwritten when
building masks for possible cpus.

Fix this by excluding CPUs, which are not part of the current build mask
(present/possible).

[ tglx: Massaged changelog and added comment ]

Fixes: b825921990 ("genirq/affinity: Spread IRQs to all available NUMA nodes")
Signed-off-by: Rei Yamamoto <yamamoto.rei@jp.fujitsu.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20220331003309.10891-1-yamamoto.rei@jp.fujitsu.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-20 09:36:26 +02:00
..
affinity.c genirq/affinity: Consider that CPUs on nodes can be unbalanced 2022-04-20 09:36:26 +02:00
autoprobe.c genirq: Delay deactivation in free_irq() 2019-07-03 10:12:28 +02:00
chip.c irq: remove unused flags argument from __handle_irq_event_percpu() 2022-01-07 00:25:25 +01:00
cpuhotplug.c genirq/cpuhotplug: Demote debug printk to KERN_DEBUG 2021-08-24 09:16:20 +02:00
debug.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk 2018-02-01 13:36:15 -08:00
debugfs.c Merge branch 'irq/qcom-pdc-wakeup' into irq/irqchip-next 2020-10-06 11:28:03 +01:00
devres.c genirq/devres: Use struct_size() in devm_kzalloc() 2019-04-16 21:54:03 +02:00
dummychip.c irq: Fix typos in comments 2021-03-22 04:23:14 +01:00
generic-chip.c genirq/generic_chip: Constify irq_generic_chip_ops 2021-12-01 00:15:07 +01:00
handle.c irq: remove unused flags argument from __handle_irq_event_percpu() 2022-01-07 00:25:25 +01:00
internals.h irq: remove unused flags argument from __handle_irq_event_percpu() 2022-01-07 00:25:25 +01:00
ipi.c genirq: Fix kernel-doc warnings in pm.c, msi.c and ipi.c 2021-08-11 14:33:35 +02:00
irq_sim.c The usual updates from the irq departement: 2021-04-26 09:43:16 -07:00
irqdesc.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irqdomain.c pci-v5.16-changes 2021-11-06 14:36:12 -07:00
Kconfig Merge branch irq/irq_cpu_offline into irq/irqchip-next 2021-10-28 13:34:57 +01:00
Makefile genirq/timings: Add selftest for circular array 2019-06-12 10:47:04 +02:00
manage.c genirq: Provide new interfaces for affinity hints 2021-12-10 20:47:38 +01:00
matrix.c genirq/matrix: Fix kernel doc warnings for irq_matrix_alloc_managed() 2021-08-10 22:50:07 +02:00
migration.c genirq: Fix typos and misspellings in comments 2021-03-16 15:08:29 +01:00
msi.c genirq/msi: Populate sysfs entry only once 2022-01-10 19:22:10 +01:00
pm.c genirq: Fix kernel-doc warnings in pm.c, msi.c and ipi.c 2021-08-11 14:33:35 +02:00
proc.c proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
resend.c genirq: Fix typos and misspellings in comments 2021-03-16 15:08:29 +01:00
settings.h genirq: Add a IRQF_NO_DEBUG flag 2021-05-17 20:01:35 +02:00
spurious.c genirq: Disable irqfixup/poll on PREEMPT_RT. 2021-09-19 23:01:15 +02:00
timings.c Updates to the interrupt core and driver subsystems: 2021-08-30 14:38:37 -07:00