From: kernel test robot <lkp@intel.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [mark:sched/preempt-dynamic-optimizations 1/1] kernel/sched/core.c:7415:13: warning: no previous prototype for function '__cond_resched'
Date: Thu, 26 Feb 2026 04:23:31 +0800 [thread overview]
Message-ID: <202602260409.2GS5AzSo-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git sched/preempt-dynamic-optimizations
head: b07713067f078a16fdbf289db10c6f72a7a75aa0
commit: b07713067f078a16fdbf289db10c6f72a7a75aa0 [1/1] HACK: sched: Disable {cond,might}_resched() when ARCH_HAS_PREEMPT_LAZY=y
config: s390-randconfig-001-20260226 (https://download.01.org/0day-ci/archive/20260226/202602260409.2GS5AzSo-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 9a109fbb6e184ec9bcce10615949f598f4c974a9)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260226/202602260409.2GS5AzSo-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/202602260409.2GS5AzSo-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> kernel/sched/core.c:7415:13: warning: no previous prototype for function '__cond_resched' [-Wmissing-prototypes]
7415 | int __sched __cond_resched(void)
| ^
kernel/sched/core.c:7415:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
7415 | int __sched __cond_resched(void)
| ^
| static
kernel/sched/core.c:7455:13: warning: no previous prototype for function 'dynamic_cond_resched' [-Wmissing-prototypes]
7455 | int __sched dynamic_cond_resched(void)
| ^
kernel/sched/core.c:7455:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
7455 | int __sched dynamic_cond_resched(void)
| ^
| static
>> kernel/sched/core.c:7464:13: warning: no previous prototype for function 'dynamic_might_resched' [-Wmissing-prototypes]
7464 | int __sched dynamic_might_resched(void)
| ^
kernel/sched/core.c:7464:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
7464 | int __sched dynamic_might_resched(void)
| ^
| static
3 warnings generated.
vim +/__cond_resched +7415 kernel/sched/core.c
d50dde5a10f305 kernel/sched/core.c Dario Faggioli 2013-11-07 7413
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7414 #if !defined(CONFIG_PREEMPTION) || defined(CONFIG_PREEMPT_DYNAMIC)
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 @7415 int __sched __cond_resched(void)
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 7416 {
82c387ef7568c0 kernel/sched/core.c Thomas Gleixner 2024-12-16 7417 if (should_resched(0) && !irqs_disabled()) {
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7418 preempt_schedule_common();
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7419 return 1;
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 7420 }
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 7421 /*
2c00e1199c0608 kernel/sched/core.c Ankur Arora 2024-12-12 7422 * In PREEMPT_RCU kernels, ->rcu_read_lock_nesting tells the tick
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7423 * whether the current CPU is in an RCU read-side critical section,
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7424 * so the tick can report quiescent states even for CPUs looping
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7425 * in kernel context. In contrast, in non-preemptible kernels,
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7426 * RCU readers leave no in-memory hints, which means that CPU-bound
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7427 * processes executing in kernel context might never report an
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7428 * RCU quiescent state. Therefore, the following code causes
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7429 * cond_resched() to report a quiescent state, but only when RCU
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7430 * is in urgent need of one.
2c00e1199c0608 kernel/sched/core.c Ankur Arora 2024-12-12 7431 * A third case, preemptible, but non-PREEMPT_RCU provides for
2c00e1199c0608 kernel/sched/core.c Ankur Arora 2024-12-12 7432 * urgently needed quiescent states via rcu_flavor_sched_clock_irq().
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 7433 */
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7434 #ifndef CONFIG_PREEMPT_RCU
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7435 rcu_all_qs();
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7436 #endif
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7437 return 0;
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 7438 }
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7439 EXPORT_SYMBOL(__cond_resched);
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7440 #endif
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 7441
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7442 #ifdef CONFIG_PREEMPT_DYNAMIC
b7ebb758568b60 kernel/sched/core.c Ingo Molnar 2025-05-28 7443 # ifdef CONFIG_HAVE_PREEMPT_DYNAMIC_CALL
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7444 # define cond_resched_dynamic_enabled __cond_resched
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7445 # define cond_resched_dynamic_disabled ((void *)&__static_call_return0)
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7446 DEFINE_STATIC_CALL_RET0(cond_resched, __cond_resched);
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7447 EXPORT_STATIC_CALL_TRAMP(cond_resched);
48f24c4da1ee7f kernel/sched.c Ingo Molnar 2006-07-03 7448
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7449 # define might_resched_dynamic_enabled __cond_resched
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7450 # define might_resched_dynamic_disabled ((void *)&__static_call_return0)
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7451 DEFINE_STATIC_CALL_RET0(might_resched, __cond_resched);
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7452 EXPORT_STATIC_CALL_TRAMP(might_resched);
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7453 # elif defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY)
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7454 static DEFINE_STATIC_KEY_FALSE(sk_dynamic_cond_resched);
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7455 int __sched dynamic_cond_resched(void)
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7456 {
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7457 if (!static_branch_unlikely(&sk_dynamic_cond_resched))
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7458 return 0;
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7459 return __cond_resched();
700a78335fc28a kernel/sched/core.c Christian Göttsche 2022-06-15 7460 }
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7461 EXPORT_SYMBOL(dynamic_cond_resched);
700a78335fc28a kernel/sched/core.c Christian Göttsche 2022-06-15 7462
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7463 static DEFINE_STATIC_KEY_FALSE(sk_dynamic_might_resched);
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 @7464 int __sched dynamic_might_resched(void)
700a78335fc28a kernel/sched/core.c Christian Göttsche 2022-06-15 7465 {
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7466 if (!static_branch_unlikely(&sk_dynamic_might_resched))
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7467 return 0;
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7468 return __cond_resched();
e43379f10b4219 kernel/sched.c Matt Mackall 2005-05-01 7469 }
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7470 EXPORT_SYMBOL(dynamic_might_resched);
04746ed80bcf31 kernel/sched/core.c Ingo Molnar 2024-04-07 7471 # endif
b7ebb758568b60 kernel/sched/core.c Ingo Molnar 2025-05-28 7472 #endif /* CONFIG_PREEMPT_DYNAMIC */
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 7473
:::::: The code at line 7415 was first introduced by commit
:::::: 04746ed80bcf3130951ed4d5c1bc5b0bcabdde22 sched/syscalls: Split out kernel/sched/syscalls.c from kernel/sched/core.c
:::::: TO: Ingo Molnar <mingo@kernel.org>
:::::: CC: Ingo Molnar <mingo@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-02-25 20:33 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=202602260409.2GS5AzSo-lkp@intel.com \
--to=lkp@intel.com \
--cc=llvm@lists.linux.dev \
--cc=mark.rutland@arm.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.