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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox