Re: [PATCH v2 5/6] genirq/test: Drop CONFIG_GENERIC_IRQ_MIGRATION assumptions

From: Guenter Roeck
Date: Fri Aug 22 2025 - 21:14:32 EST


On Fri, Aug 22, 2025 at 11:59:06AM -0700, Brian Norris wrote:
> 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 IRQ
> may not actually shut down, and we'll fail these tests:
>
> [ 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 IRQ
> core, let's just drop the state checks. The point of the test was to
> ensure we kept |depth| balanced, and we can still test for that.
>
> 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 | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/kernel/irq/irq_test.c b/kernel/irq/irq_test.c
> index 56baeb5041d6..bbb89a3e1153 100644
> --- a/kernel/irq/irq_test.c
> +++ b/kernel/irq/irq_test.c
> @@ -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);
> --
> 2.51.0.rc2.233.g662b1ed5c5-goog
>