kernel/sched/ext/arena.c:29: undefined reference to `gen_pool_create'

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild-all,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hi Tejun,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2f1baf1fc8929e6c48370be543ad028ac7ad4131
commit: bba2c3615bd6cfee7456d1130f2e6b01b3f4e9ba sched_ext: Move sources under kernel/sched/ext/
date:   8 weeks ago
config: parisc-randconfig-001-20260815 (https://download.01.org/0day-ci/archive/20260815/[email protected]/config)
compiler: hppa-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260815/[email protected]/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
| Fixes: bba2c3615bd6 ("sched_ext: Move sources under kernel/sched/ext/")
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   hppa-linux-ld: kernel/sched/build_policy.o: in function `gen_pool_free':
   include/linux/genalloc.h:173: undefined reference to `gen_pool_free_owner'
   hppa-linux-ld: kernel/sched/build_policy.o: in function `scx_arena_pool_init':
>> kernel/sched/ext/arena.c:29: undefined reference to `gen_pool_create'
   hppa-linux-ld: kernel/sched/build_policy.o: in function `scx_arena_pool_destroy':
>> kernel/sched/ext/arena.c:57: undefined reference to `gen_pool_for_each_chunk'
>> hppa-linux-ld: kernel/sched/ext/arena.c:58: undefined reference to `gen_pool_destroy'
   hppa-linux-ld: kernel/sched/build_policy.o: in function `gen_pool_free':
   include/linux/genalloc.h:173: undefined reference to `gen_pool_free_owner'
   hppa-linux-ld: kernel/sched/build_policy.o: in function `gen_pool_alloc_algo':
   include/linux/genalloc.h:139: undefined reference to `gen_pool_alloc_algo_owner'
   hppa-linux-ld: kernel/sched/build_policy.o: in function `gen_pool_free':
   include/linux/genalloc.h:173: undefined reference to `gen_pool_free_owner'
   hppa-linux-ld: kernel/sched/build_policy.o: in function `scx_arena_pool_init':
>> kernel/sched/ext/arena.c:29: undefined reference to `gen_pool_create'


vim +29 kernel/sched/ext/arena.c

9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  23  
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  24  s32 scx_arena_pool_init(struct scx_sched *sch)
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  25  {
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  26  	if (!sch->arena_map)
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  27  		return 0;
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  28  
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22 @29  	sch->arena_pool = gen_pool_create(SCX_ARENA_MIN_ORDER, NUMA_NO_NODE);
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  30  	if (!sch->arena_pool)
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  31  		return -ENOMEM;
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  32  	return 0;
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  33  }
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  34  
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  35  static void scx_arena_clear_chunk(struct gen_pool *pool, struct gen_pool_chunk *chunk,
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  36  				  void *data)
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  37  {
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  38  	int order = pool->min_alloc_order;
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  39  	size_t chunk_sz = chunk->end_addr - chunk->start_addr + 1;
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  40  	unsigned long end_bit = chunk_sz >> order;
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  41  	unsigned long b, e;
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  42  
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  43  	for_each_set_bitrange(b, e, chunk->bits, end_bit)
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  44  		gen_pool_free(pool, chunk->start_addr + (b << order),
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  45  			      (e - b) << order);
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  46  }
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  47  
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  48  /*
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  49   * Tear down the pool. Outstanding gen_pool allocations are freed via
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  50   * scx_arena_clear_chunk() so gen_pool_destroy() doesn't BUG. The underlying
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  51   * arena pages are released when the arena map itself is torn down.
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  52   */
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  53  void scx_arena_pool_destroy(struct scx_sched *sch)
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  54  {
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  55  	if (!sch->arena_pool)
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  56  		return;
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22 @57  	gen_pool_for_each_chunk(sch->arena_pool, scx_arena_clear_chunk, NULL);
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22 @58  	gen_pool_destroy(sch->arena_pool);
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  59  	sch->arena_pool = NULL;
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  60  }
9eca087deb0b35 kernel/sched/ext_arena.c Tejun Heo 2026-05-22  61  

:::::: The code at line 29 was first introduced by commit
:::::: 9eca087deb0b35f3170109a9630a6c5c06c2e222 sched_ext: Sub-allocator over kernel-claimed BPF arena pages

:::::: TO: Tejun Heo <[email protected]>
:::::: CC: Tejun Heo <[email protected]>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.