* [harry:kvfree-rcu-improvements-rfc-v2r1-wip 4/9] mm/slab_common.c:1352:16: error: call to undeclared function 'IRQ_WORK_INIT'; ISO C99 and later do not support implicit function declarations
@ 2026-05-03 4:01 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-05-03 4:01 UTC (permalink / raw)
To: Harry Yoo (Oracle); +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/harry/linux.git kvfree-rcu-improvements-rfc-v2r1-wip
head: 1e4fd024c798fbeff0b5a3c5f55cdcf710367c59
commit: 56d22ff0926080094a3df57e64b2aa87c9e1433d [4/9] mm/slab: introduce kfree_rcu_nolock()
config: s390-allnoconfig (https://download.01.org/0day-ci/archive/20260503/202605031137.1PajP3OI-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 5bac06718f502014fade905512f1d26d578a18f3)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260503/202605031137.1PajP3OI-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202605031137.1PajP3OI-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
>> mm/slab_common.c:1352:16: error: call to undeclared function 'IRQ_WORK_INIT'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
1352 | .defer_free = IRQ_WORK_INIT(defer_kfree_rcu_irq_work_fn),
| ^
>> mm/slab_common.c:1354:3: error: call to undeclared function 'IRQ_WORK_INIT_LAZY'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
1354 | IRQ_WORK_INIT_LAZY(sched_delayed_monitor_irq_work_fn),
| ^
>> mm/slab_common.c:1352:16: error: incompatible integer to pointer conversion initializing 'struct llist_node *' with an expression of type 'int' [-Wint-conversion]
1352 | .defer_free = IRQ_WORK_INIT(defer_kfree_rcu_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> mm/slab_common.c:1352:16: warning: suggest braces around initialization of subobject [-Wmissing-braces]
1352 | .defer_free = IRQ_WORK_INIT(defer_kfree_rcu_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| { }
>> mm/slab_common.c:1352:16: warning: suggest braces around initialization of subobject [-Wmissing-braces]
1352 | .defer_free = IRQ_WORK_INIT(defer_kfree_rcu_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| { }
>> mm/slab_common.c:1352:16: warning: suggest braces around initialization of subobject [-Wmissing-braces]
1352 | .defer_free = IRQ_WORK_INIT(defer_kfree_rcu_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| { }
mm/slab_common.c:1354:3: error: incompatible integer to pointer conversion initializing 'struct llist_node *' with an expression of type 'int' [-Wint-conversion]
1354 | IRQ_WORK_INIT_LAZY(sched_delayed_monitor_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/slab_common.c:1354:3: warning: suggest braces around initialization of subobject [-Wmissing-braces]
1354 | IRQ_WORK_INIT_LAZY(sched_delayed_monitor_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| { }
mm/slab_common.c:1354:3: warning: suggest braces around initialization of subobject [-Wmissing-braces]
1354 | IRQ_WORK_INIT_LAZY(sched_delayed_monitor_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| { }
mm/slab_common.c:1354:3: warning: suggest braces around initialization of subobject [-Wmissing-braces]
1354 | IRQ_WORK_INIT_LAZY(sched_delayed_monitor_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| { }
mm/slab_common.c:1356:3: error: incompatible integer to pointer conversion initializing 'struct llist_node *' with an expression of type 'int' [-Wint-conversion]
1356 | IRQ_WORK_INIT_LAZY(run_page_cache_worker_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/slab_common.c:1356:3: warning: suggest braces around initialization of subobject [-Wmissing-braces]
1356 | IRQ_WORK_INIT_LAZY(run_page_cache_worker_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| { }
mm/slab_common.c:1356:3: warning: suggest braces around initialization of subobject [-Wmissing-braces]
1356 | IRQ_WORK_INIT_LAZY(run_page_cache_worker_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| { }
mm/slab_common.c:1356:3: warning: suggest braces around initialization of subobject [-Wmissing-braces]
1356 | IRQ_WORK_INIT_LAZY(run_page_cache_worker_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| { }
>> mm/slab_common.c:1352:16: error: initializer element is not a compile-time constant
1352 | .defer_free = IRQ_WORK_INIT(defer_kfree_rcu_irq_work_fn),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> mm/slab_common.c:1378:3: error: call to undeclared function 'irq_work_sync'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
1378 | irq_work_sync(&per_cpu_ptr(&krc, cpu)->defer_free);
| ^
>> mm/slab_common.c:1785:5: error: call to undeclared function 'irq_work_queue'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
1785 | irq_work_queue(&krcp->sched_delayed_monitor);
| ^
mm/slab_common.c:1793:3: error: call to undeclared function 'irq_work_queue'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
1793 | irq_work_queue(&krcp->sched_delayed_monitor);
| ^
mm/slab_common.c:2066:4: error: call to undeclared function 'irq_work_queue'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
2066 | irq_work_queue(&krcp->run_page_cache_worker);
| ^
mm/slab_common.c:2185:3: error: call to undeclared function 'irq_work_queue'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
2185 | irq_work_queue(&krcp->defer_free);
| ^
9 warnings and 11 errors generated.
vim +/IRQ_WORK_INIT +1352 mm/slab_common.c
1348
1349 static DEFINE_PER_CPU(struct kfree_rcu_cpu, krc) = {
1350 .lock = __RAW_SPIN_LOCK_UNLOCKED(krc.lock),
1351 .defer_head = LLIST_HEAD_INIT(defer_head),
> 1352 .defer_free = IRQ_WORK_INIT(defer_kfree_rcu_irq_work_fn),
1353 .sched_delayed_monitor =
> 1354 IRQ_WORK_INIT_LAZY(sched_delayed_monitor_irq_work_fn),
1355 .run_page_cache_worker =
1356 IRQ_WORK_INIT_LAZY(run_page_cache_worker_irq_work_fn),
1357 };
1358 #else
1359 struct kfree_rcu_cpu {
1360 struct llist_head defer_head;
1361 struct irq_work defer_free;
1362 };
1363
1364 static void defer_kfree_rcu_irq_work_fn(struct irq_work *work);
1365
1366 static DEFINE_PER_CPU(struct kfree_rcu_cpu, krc) = {
1367 .defer_head = LLIST_HEAD_INIT(defer_head),
1368 .defer_free = IRQ_WORK_INIT(defer_kfree_rcu_irq_work_fn),
1369 };
1370 #endif
1371
1372 /* Wait for deferred work from kfree_rcu_nolock() */
1373 void defer_kvfree_rcu_barrier(void)
1374 {
1375 int cpu;
1376
1377 for_each_possible_cpu(cpu)
> 1378 irq_work_sync(&per_cpu_ptr(&krc, cpu)->defer_free);
1379 }
1380
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-05-03 4:02 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-03 4:01 [harry:kvfree-rcu-improvements-rfc-v2r1-wip 4/9] mm/slab_common.c:1352:16: error: call to undeclared function 'IRQ_WORK_INIT'; ISO C99 and later do not support implicit function declarations kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox