mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Tejun Heo <tj@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
	Andrea Righi <arighi@nvidia.com>
Subject: kernel/sched/ext/arena.c:29: undefined reference to `gen_pool_create'
Date: Sat, 15 Aug 2026 16:22:24 +0800	[thread overview]
Message-ID: <202608151632.3p91bTQj-lkp@intel.com> (raw)

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/202608151632.3p91bTQj-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260815/202608151632.3p91bTQj-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
| Fixes: bba2c3615bd6 ("sched_ext: Move sources under kernel/sched/ext/")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202608151632.3p91bTQj-lkp@intel.com/

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 <tj@kernel.org>
:::::: CC: Tejun Heo <tj@kernel.org>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-08-15  8:23 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=202608151632.3p91bTQj-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=arighi@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=tj@kernel.org \
    /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

all inboxes | Powered by JetHome®