]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
genirq/test: Ensure CPU 1 is online for hotplug test
authorBrian Norris <briannorris@chromium.org>
Fri, 22 Aug 2025 18:59:07 +0000 (11:59 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 3 Sep 2025 15:04:52 +0000 (17:04 +0200)
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@roeck-us.net>
Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: David Gow <davidgow@google.com>
Link: https://lore.kernel.org/all/20250822190140.2154646-7-briannorris@chromium.org
kernel/irq/irq_test.c

index bbb89a3e11538d533e2ad04ea6d4b03da5fcef06..e2d31914b3c4437a47be571ad5b4952ed4176202 100644 (file)
@@ -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));