IRQ_FORCED_THREADING - possible build issue?

From: Valdis Kletnieks
Date: Thu Nov 15 2012 - 22:16:17 EST


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?)

Attachment: pgp00000.pgp
Description: PGP signature