Skip to contentSkip to conversation

IRQ_FORCED_THREADING - possible build issue?

DISCUSSION Valdis Kletnieks 1 participant 1 message Nov 16, 2012

lore
Share & tools
lore
#0 lore raw

While trying to clean old cruft out of grub.conf, I chased down a 'threadirqs' parameter.

kernel/irq/manage.c has this in it:

#ifdef CONFIG_IRQ_FORCED_THREADING
__read_mostly bool force_irqthreads;

static int __init setup_forced_irqthreads(char *arg)

{
        force_irqthreads = true;
        return 0;
}

early_param("threadirqs", setup_forced_irqthreads); #endif

but the references to that variable in irq_thread() and irq_setup_forced_threading() and elsewhere don't seem to be similarly guarded. This can lead to a compile error if IRQ_FORCED_THREADING isn't in the .config. Is this actually being forced on all archs now? If so, the ifdef/endif is probably superfluous. If not, what happens on archs that don't force it?

(I tried to build-test it for myself and see, but apparently X86 selects the symbol and I haven't managed to figure out how to get a compile that doesn't define it. Kbuild kept re-running config and re-setting it. 'make ARCH=something allnoconfig' for some value of something that doesn't do it?)