From: kernel test robot <lkp@intel.com>
To: "Harry Yoo (Oracle)" <harry@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [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
Date: Sun, 03 May 2026 12:01:06 +0800 [thread overview]
Message-ID: <202605031137.1PajP3OI-lkp@intel.com> (raw)
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
reply other threads:[~2026-05-03 4:02 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202605031137.1PajP3OI-lkp@intel.com \
--to=lkp@intel.com \
--cc=harry@kernel.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox