Re: [PATCH V2 1/2] tick: Rename tick_do_update_jiffies64() and allow external usage

From: kernel test robot
Date: Thu Aug 10 2023 - 06:31:40 EST


Hi Huacai,

kernel test robot noticed the following build errors:

[auto build test ERROR on paulmck-rcu/dev]
[also build test ERROR on linus/master]
[cannot apply to tip/timers/nohz]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Huacai-Chen/rcu-Update-jiffies-in-rcu_cpu_stall_reset/20230810-142629
base: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev
patch link: https://lore.kernel.org/r/20230810062527.3700080-1-chenhuacai%40loongson.cn
patch subject: [PATCH V2 1/2] tick: Rename tick_do_update_jiffies64() and allow external usage
config: powerpc-randconfig-r013-20230809 (https://download.01.org/0day-ci/archive/20230810/202308101853.wOMMd0Tf-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce: (https://download.01.org/0day-ci/archive/20230810/202308101853.wOMMd0Tf-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308101853.wOMMd0Tf-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:677:
arch/powerpc/include/asm/io-defs.h:45:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
45 | DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46 | (p, b, c), pio, p)
| ~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:674:3: note: expanded from macro 'DEF_PCI_AC_NORET'
674 | __do_##name al; \
| ^~~~~~~~~~~~~~
<scratch space>:49:1: note: expanded from here
49 | __do_insw
| ^
arch/powerpc/include/asm/io.h:615:56: note: expanded from macro '__do_insw'
615 | #define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
| ~~~~~~~~~~~~~~~~~~~~~^
In file included from kernel/time/tick-sched.c:14:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:677:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
47 | DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48 | (p, b, c), pio, p)
| ~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:674:3: note: expanded from macro 'DEF_PCI_AC_NORET'
674 | __do_##name al; \
| ^~~~~~~~~~~~~~
<scratch space>:51:1: note: expanded from here
51 | __do_insl
| ^
arch/powerpc/include/asm/io.h:616:56: note: expanded from macro '__do_insl'
616 | #define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
| ~~~~~~~~~~~~~~~~~~~~~^
In file included from kernel/time/tick-sched.c:14:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:677:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
49 | DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50 | (p, b, c), pio, p)
| ~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:674:3: note: expanded from macro 'DEF_PCI_AC_NORET'
674 | __do_##name al; \
| ^~~~~~~~~~~~~~
<scratch space>:53:1: note: expanded from here
53 | __do_outsb
| ^
arch/powerpc/include/asm/io.h:617:58: note: expanded from macro '__do_outsb'
617 | #define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
| ~~~~~~~~~~~~~~~~~~~~~^
In file included from kernel/time/tick-sched.c:14:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:677:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
51 | DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52 | (p, b, c), pio, p)
| ~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:674:3: note: expanded from macro 'DEF_PCI_AC_NORET'
674 | __do_##name al; \
| ^~~~~~~~~~~~~~
<scratch space>:55:1: note: expanded from here
55 | __do_outsw
| ^
arch/powerpc/include/asm/io.h:618:58: note: expanded from macro '__do_outsw'
618 | #define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
| ~~~~~~~~~~~~~~~~~~~~~^
In file included from kernel/time/tick-sched.c:14:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:677:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
53 | DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54 | (p, b, c), pio, p)
| ~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:674:3: note: expanded from macro 'DEF_PCI_AC_NORET'
674 | __do_##name al; \
| ^~~~~~~~~~~~~~
<scratch space>:57:1: note: expanded from here
57 | __do_outsl
| ^
arch/powerpc/include/asm/io.h:619:58: note: expanded from macro '__do_outsl'
619 | #define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
| ~~~~~~~~~~~~~~~~~~~~~^
>> kernel/time/tick-sched.c:114:4: error: call to undeclared function 'tick_do_update_jiffies_64'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
114 | tick_do_update_jiffies_64(now);
| ^
kernel/time/tick-sched.c:114:4: note: did you mean 'do_update_jiffies_64'?
include/linux/jiffies.h:91:6: note: 'do_update_jiffies_64' declared here
91 | void do_update_jiffies_64(s64 now); /* typedef s64 ktime_t */
| ^
6 warnings and 1 error generated.


vim +/tick_do_update_jiffies_64 +114 kernel/time/tick-sched.c

100
101 /* Check, if the jiffies need an update */
102 if (tick_do_timer_cpu == cpu)
103 do_update_jiffies_64(now);
104
105 /*
106 * If jiffies update stalled for too long (timekeeper in stop_machine()
107 * or VMEXIT'ed for several msecs), force an update.
108 */
109 if (ts->last_tick_jiffies != jiffies) {
110 ts->stalled_jiffies = 0;
111 ts->last_tick_jiffies = READ_ONCE(jiffies);
112 } else {
113 if (++ts->stalled_jiffies == MAX_STALLED_JIFFIES) {
> 114 tick_do_update_jiffies_64(now);
115 ts->stalled_jiffies = 0;
116 ts->last_tick_jiffies = READ_ONCE(jiffies);
117 }
118 }
119
120 if (ts->inidle)
121 ts->got_idle_tick = 1;
122 }
123

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