]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
genirq/test: Drop CONFIG_GENERIC_IRQ_MIGRATION assumptions
authorBrian Norris <briannorris@chromium.org>
Fri, 22 Aug 2025 18:59:06 +0000 (11:59 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 3 Sep 2025 15:04:52 +0000 (17:04 +0200)
Not all platforms use the generic IRQ migration code, even if they select
GENERIC_IRQ_MIGRATION. (See, for example, powerpc / pseries_cpu_disable().)

If such platforms don't perform managed shutdown the same way, the interrupt
may not actually shut down, and these tests fail:

[    4.357022][  T101]     # irq_cpuhotplug_test: EXPECTATION FAILED at kernel/irq/irq_test.c:211
[    4.357022][  T101]     Expected irqd_is_activated(data) to be false, but is true
[    4.358128][  T101]     # irq_cpuhotplug_test: EXPECTATION FAILED at kernel/irq/irq_test.c:212
[    4.358128][  T101]     Expected irqd_is_started(data) to be false, but is true
[    4.375558][  T101]     # irq_cpuhotplug_test: EXPECTATION FAILED at kernel/irq/irq_test.c:216
[    4.375558][  T101]     Expected irqd_is_activated(data) to be false, but is true
[    4.376088][  T101]     # irq_cpuhotplug_test: EXPECTATION FAILED at kernel/irq/irq_test.c:217
[    4.376088][  T101]     Expected irqd_is_started(data) to be false, but is true
[    4.377851][    T1]     # irq_cpuhotplug_test: pass:0 fail:1 skip:0 total:1
[    4.377901][    T1]     not ok 4 irq_cpuhotplug_test
[    4.378073][    T1] # irq_test_cases: pass:3 fail:1 skip:0 total:4

Rather than test that PowerPC performs migration the same way as the
unterrupt core, just drop the state checks. The point of the test was to
ensure that the code kept |depth| balanced, which still can be tested for.

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-6-briannorris@chromium.org
kernel/irq/irq_test.c

index 56baeb5041d6b015d706980ecb613610842ff359..bbb89a3e11538d533e2ad04ea6d4b03da5fcef06 100644 (file)
@@ -203,13 +203,9 @@ static void irq_cpuhotplug_test(struct kunit *test)
        KUNIT_EXPECT_EQ(test, desc->depth, 1);
 
        KUNIT_EXPECT_EQ(test, remove_cpu(1), 0);
-       KUNIT_EXPECT_FALSE(test, irqd_is_activated(data));
-       KUNIT_EXPECT_FALSE(test, irqd_is_started(data));
        KUNIT_EXPECT_GE(test, desc->depth, 1);
        KUNIT_EXPECT_EQ(test, add_cpu(1), 0);
 
-       KUNIT_EXPECT_FALSE(test, irqd_is_activated(data));
-       KUNIT_EXPECT_FALSE(test, irqd_is_started(data));
        KUNIT_EXPECT_EQ(test, desc->depth, 1);
 
        enable_irq(virq);