Re: [PATCH v2 6/6] genirq/test: Ensure CPU 1 is online for hotplug test
From: Guenter Roeck
Date: Fri Aug 22 2025 - 21:14:43 EST
On Fri, Aug 22, 2025 at 11:59:07AM -0700, Brian Norris wrote:
> It's possible to run these tests on platforms that think they have a
> hotpluggable CPU1, but for whatever reason, CPU1 is not online and can't
> be brought online:
>
> # irq_cpuhotplug_test: EXPECTATION FAILED at kernel/irq/irq_test.c:210
> Expected remove_cpu(1) == 0, but
> remove_cpu(1) == 1 (0x1)
> CPU1: failed to boot: -38
> # irq_cpuhotplug_test: EXPECTATION FAILED at kernel/irq/irq_test.c:214
> Expected add_cpu(1) == 0, but
> add_cpu(1) == -38 (0xffffffffffffffda)
>
> Check that CPU1 is actually online before trying to run the test.
>
> Fixes: 66067c3c8a1e ("genirq: Add kunit tests for depth counts")
> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx>
> Reviewed-by: David Gow <davidgow@xxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> ---
>
> (no changes since v1)
>
> kernel/irq/irq_test.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/irq/irq_test.c b/kernel/irq/irq_test.c
> index bbb89a3e1153..e2d31914b3c4 100644
> --- a/kernel/irq/irq_test.c
> +++ b/kernel/irq/irq_test.c
> @@ -179,6 +179,8 @@ static void irq_cpuhotplug_test(struct kunit *test)
> kunit_skip(test, "requires more than 1 CPU for CPU hotplug");
> if (!cpu_is_hotpluggable(1))
> kunit_skip(test, "CPU 1 must be hotpluggable");
> + if (!cpu_online(1))
> + kunit_skip(test, "CPU 1 must be online");
>
> cpumask_copy(&affinity.mask, cpumask_of(1));
>
> --
> 2.51.0.rc2.233.g662b1ed5c5-goog
>