[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251204081914.GA2528459@noisy.programming.kicks-ass.net>
Date: Thu, 4 Dec 2025 09:19:14 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: kernel test robot <lkp@...el.com>
Cc: Oleg Nesterov <oleg@...hat.com>, oe-kbuild-all@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: include/linux/seqlock.h:1257:undefined reference to
`__scoped_seqlock_bug'
On Wed, Dec 03, 2025 at 10:22:28PM +0800, kernel test robot wrote:
> Hi Oleg,
>
> FYI, the error/warning still remains.
I don't have this report in my inbox. I had some for other builds, which
I fixed, but not this one.
Anyway, let me go stare at it. This is the optimizer failing in some
way.
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 3f9f0252130e7dd60d41be0802bf58f6471c691d
> commit: 488f48b32654dc6be04d9cc12f75ce030c9cb21b seqlock: Change thread_group_cputime() to use scoped_seqlock_read()
> date: 6 weeks ago
> config: arm-mvebu_v5_defconfig (https://download.01.org/0day-ci/archive/20251203/202512032230.5pqkcg8x-lkp@intel.com/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 15.1.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251203/202512032230.5pqkcg8x-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@...el.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202512032230.5pqkcg8x-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> arm-linux-gnueabi-ld: kernel/sched/build_policy.o: in function `__scoped_seqlock_next':
> >> include/linux/seqlock.h:1257:(.text+0x96a0): undefined reference to `__scoped_seqlock_bug'
>
>
> vim +1257 include/linux/seqlock.h
>
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1251
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1252 static inline void
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1253 __scoped_seqlock_next(struct ss_tmp *sst, seqlock_t *lock, enum ss_state target)
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1254 {
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1255 switch (sst->state) {
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1256 case ss_done:
> cc39f3872c0865 Peter Zijlstra 2025-10-09 @1257 __scoped_seqlock_bug();
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1258 return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1259
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1260 case ss_lock:
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1261 case ss_lock_irqsave:
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1262 sst->state = ss_done;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1263 return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1264
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1265 case ss_lockless:
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1266 if (!read_seqretry(lock, sst->data)) {
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1267 sst->state = ss_done;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1268 return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1269 }
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1270 break;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1271 }
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1272
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1273 switch (target) {
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1274 case ss_done:
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1275 __scoped_seqlock_invalid_target();
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1276 return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1277
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1278 case ss_lock:
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1279 sst->lock = &lock->lock;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1280 spin_lock(sst->lock);
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1281 sst->state = ss_lock;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1282 return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1283
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1284 case ss_lock_irqsave:
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1285 sst->lock_irqsave = &lock->lock;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1286 spin_lock_irqsave(sst->lock_irqsave, sst->data);
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1287 sst->state = ss_lock_irqsave;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1288 return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1289
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1290 case ss_lockless:
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1291 sst->data = read_seqbegin(lock);
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1292 return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1293 }
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1294 }
> cc39f3872c0865 Peter Zijlstra 2025-10-09 1295
>
> :::::: The code at line 1257 was first introduced by commit
> :::::: cc39f3872c0865bef992b713338df369554fa9e0 seqlock: Introduce scoped_seqlock_read()
>
> :::::: TO: Peter Zijlstra <peterz@...radead.org>
> :::::: CC: Peter Zijlstra <peterz@...radead.org>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists