The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [frederic-dynticks:preempt/arm-v2 3/4] arch/arm64/kernel/entry-common.c:239:14: warning: no previous prototype for function 'arm64_preempt_schedule_irq'
@ 2021-10-28 13:31 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-10-28 13:31 UTC (permalink / raw)
  To: Frederic Weisbecker; +Cc: llvm, kbuild-all, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 3137 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git preempt/arm-v2
head:   5700542b609d9ab640210d7dd93621c7967688e6
commit: 516f540feccbcc52e1042de823ad0b28ac9ecd34 [3/4] arm64: Implement IRQ exit preemption static call for dynamic preemption
config: arm64-randconfig-r033-20211027 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5db7568a6a1fcb408eb8988abdaff2a225a8eb72)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git/commit/?id=516f540feccbcc52e1042de823ad0b28ac9ecd34
        git remote add frederic-dynticks https://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
        git fetch --no-tags frederic-dynticks preempt/arm-v2
        git checkout 516f540feccbcc52e1042de823ad0b28ac9ecd34
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> arch/arm64/kernel/entry-common.c:239:14: warning: no previous prototype for function 'arm64_preempt_schedule_irq' [-Wmissing-prototypes]
   void __sched arm64_preempt_schedule_irq(void)
                ^
   arch/arm64/kernel/entry-common.c:239:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void __sched arm64_preempt_schedule_irq(void)
   ^
   static 
   1 warning generated.


vim +/arm64_preempt_schedule_irq +239 arch/arm64/kernel/entry-common.c

   238	
 > 239	void __sched arm64_preempt_schedule_irq(void)
   240	{
   241		lockdep_assert_irqs_disabled();
   242	
   243		/*
   244		 * DAIF.DA are cleared at the start of IRQ/FIQ handling, and when GIC
   245		 * priority masking is used the GIC irqchip driver will clear DAIF.IF
   246		 * using gic_arch_enable_irqs() for normal IRQs. If anything is set in
   247		 * DAIF we must have handled an NMI, so skip preemption.
   248		 */
   249		if (system_uses_irq_prio_masking() && read_sysreg(daif))
   250			return;
   251	
   252		/*
   253		 * Preempting a task from an IRQ means we leave copies of PSTATE
   254		 * on the stack. cpufeature's enable calls may modify PSTATE, but
   255		 * resuming one of these preempted tasks would undo those changes.
   256		 *
   257		 * Only allow a task to be preempted once cpufeatures have been
   258		 * enabled.
   259		 */
   260		if (system_capabilities_finalized())
   261			preempt_schedule_irq();
   262	}
   263	#ifdef CONFIG_PREEMPT_DYNAMIC
   264	DEFINE_STATIC_CALL(irqentry_exit_cond_resched, arm64_preempt_schedule_irq);
   265	#endif
   266	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 45168 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-28 13:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-28 13:31 [frederic-dynticks:preempt/arm-v2 3/4] arch/arm64/kernel/entry-common.c:239:14: warning: no previous prototype for function 'arm64_preempt_schedule_irq' kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox