Re: [PATCH] irq: Make refcount_interrupt kunit test selectable
From: Radu Rendec
Date: Sun Aug 23 2026 - 16:46:36 EST
On Sun, 2026-08-23 at 17:17 +0000, Kuan-Wei Chiu wrote:
> Currently, refcount_interrupt_test is built unconditionally when
> CONFIG_KUNIT is enabled, causing it to run unexpectedly during boot.
>
> Fix this by introducing CONFIG_REFCOUNT_INTERRUPT_KUNIT_TEST so the
> test can be configured independently, following standard kunit
> practices.
>
> Fixes: 07a88e2bcd5b ("irq: Add KUnit test for refcounted interrupt enable/disable")
> Signed-off-by: Kuan-Wei Chiu <visitorckw@xxxxxxxxx>
> ---
> kernel/irq/Kconfig | 12 ++++++++++++
> kernel/irq/Makefile | 2 +-
> 2 files changed, 13 insertions(+), 1 deletion(-)
Can someone please explain me why this needs to be a separate unit test
in the first place and can't be integrated into the (previously)
existing unit test gated by IRQ_KUNIT_TEST?
Ironically, both the issue that this patch is trying to fix and my
question were raised by sashiko here:
https://lore.kernel.org/all/20260605055315.3E96E1F00893@xxxxxxxxxxxxxxx/
> diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig
> index 05cba4e16dad..6923f37eaab4 100644
> --- a/kernel/irq/Kconfig
> +++ b/kernel/irq/Kconfig
> @@ -150,6 +150,18 @@ config IRQ_KUNIT_TEST
>
> If unsure, say N.
>
> +config REFCOUNT_INTERRUPT_KUNIT_TEST
> + tristate "Test refcounted interrupt enable/disable" if !KUNIT_ALL_TESTS
> + depends on KUNIT
> + default KUNIT_ALL_TESTS
> + help
> + This builds the kunit tests for the refcounted interrupt
> + infrastructure. It verifies the correctness of single, nested,
> + and multiple interrupt enable/disable state changes and ensures
> + that the underlying reference counting mechanisms work as expected.
> +
> + If unsure, say N.
> +
> endmenu
>
> config GENERIC_IRQ_MULTI_HANDLER
> diff --git a/kernel/irq/Makefile b/kernel/irq/Makefile
> index 44c4d6fc502a..0e5df962a149 100644
> --- a/kernel/irq/Makefile
> +++ b/kernel/irq/Makefile
> @@ -16,4 +16,4 @@ obj-$(CONFIG_SMP) += affinity.o
> obj-$(CONFIG_GENERIC_IRQ_DEBUGFS) += debugfs.o
> obj-$(CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR) += matrix.o
> obj-$(CONFIG_IRQ_KUNIT_TEST) += irq_test.o
> -obj-$(CONFIG_KUNIT) += refcount_interrupt_test.o
> +obj-$(CONFIG_REFCOUNT_INTERRUPT_KUNIT_TEST) += refcount_interrupt_test.o