tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core head: 1d07a835819e2d3c85af8f093a02c2e6bca422d6 commit: af5b7fe6bb77ac775d446e2f25f013d5df551e9a [14/15] genirq: Change force_irqthreads to a static key config: i386-tinyconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=af5b7fe6bb77ac775d446e2f25f013d5df551e9a git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git git fetch --no-tags tip irq/core git checkout af5b7fe6bb77ac775d446e2f25f013d5df551e9a # save the attached .config to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash kernel/irq/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): kernel/irq/manage.c: In function 'irq_setup_forced_threading': >> kernel/irq/manage.c:1324:7: error: 'force_irqthreads' undeclared (first use in this function); did you mean 'force_irqthreads_key'? 1324 | if (!force_irqthreads) | ^~~~~~~~~~~~~~~~ | force_irqthreads_key kernel/irq/manage.c:1324:7: note: each undeclared identifier is reported only once for each function it appears in vim +1324 kernel/irq/manage.c a92444c6b2225a Thomas Gleixner 2014-02-15 1321 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1322 static int irq_setup_forced_threading(struct irqaction *new) 8d32a307e4faa8 Thomas Gleixner 2011-02-23 1323 { 8d32a307e4faa8 Thomas Gleixner 2011-02-23 @1324 if (!force_irqthreads) 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1325 return 0; 8d32a307e4faa8 Thomas Gleixner 2011-02-23 1326 if (new->flags & (IRQF_NO_THREAD | IRQF_PERCPU | IRQF_ONESHOT)) 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1327 return 0; 8d32a307e4faa8 Thomas Gleixner 2011-02-23 1328 d1f0301b3333ee Thomas Gleixner 2018-08-03 1329 /* d1f0301b3333ee Thomas Gleixner 2018-08-03 1330 * No further action required for interrupts which are requested as d1f0301b3333ee Thomas Gleixner 2018-08-03 1331 * threaded interrupts already d1f0301b3333ee Thomas Gleixner 2018-08-03 1332 */ d1f0301b3333ee Thomas Gleixner 2018-08-03 1333 if (new->handler == irq_default_primary_handler) d1f0301b3333ee Thomas Gleixner 2018-08-03 1334 return 0; d1f0301b3333ee Thomas Gleixner 2018-08-03 1335 8d32a307e4faa8 Thomas Gleixner 2011-02-23 1336 new->flags |= IRQF_ONESHOT; 8d32a307e4faa8 Thomas Gleixner 2011-02-23 1337 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1338 /* 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1339 * Handle the case where we have a real primary handler and a 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1340 * thread handler. We force thread them as well by creating a 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1341 * secondary action. 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1342 */ d1f0301b3333ee Thomas Gleixner 2018-08-03 1343 if (new->handler && new->thread_fn) { 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1344 /* Allocate the secondary action */ 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1345 new->secondary = kzalloc(sizeof(struct irqaction), GFP_KERNEL); 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1346 if (!new->secondary) 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1347 return -ENOMEM; 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1348 new->secondary->handler = irq_forced_secondary_handler; 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1349 new->secondary->thread_fn = new->thread_fn; 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1350 new->secondary->dev_id = new->dev_id; 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1351 new->secondary->irq = new->irq; 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1352 new->secondary->name = new->name; 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1353 } 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1354 /* Deal with the primary handler */ 8d32a307e4faa8 Thomas Gleixner 2011-02-23 1355 set_bit(IRQTF_FORCED_THREAD, &new->thread_flags); 8d32a307e4faa8 Thomas Gleixner 2011-02-23 1356 new->thread_fn = new->handler; 8d32a307e4faa8 Thomas Gleixner 2011-02-23 1357 new->handler = irq_default_primary_handler; 2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1358 return 0; 8d32a307e4faa8 Thomas Gleixner 2011-02-23 1359 } 8d32a307e4faa8 Thomas Gleixner 2011-02-23 1360 :::::: The code at line 1324 was first introduced by commit :::::: 8d32a307e4faa8b123dc8a9cd56d1a7525f69ad3 genirq: Provide forced interrupt threading :::::: TO: Thomas Gleixner :::::: CC: Thomas Gleixner --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org