Hi Sean,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on kvm/queue]
[also build test ERROR on vhost/linux-next linus/master v5.12-rc7 next-20210413]
[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]
url:
https://github.com/0day-ci/linux/commits/Sean-Christopherson/KVM-Fix-tick...
base:
https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
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
#
https://github.com/0day-ci/linux/commit/c68e2a1489e453b217384eb985d04dd67...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Sean-Christopherson/KVM-Fix-tick-based-vtime-accounting-on-x86/20210414-023106
git checkout c68e2a1489e453b217384eb985d04dd6784c3b53
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/linux/hardirq.h:9,
from include/linux/interrupt.h:11,
from include/linux/kernel_stat.h:9,
from include/linux/cgroup.h:26,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/powerpc/kernel/asm-offsets.c:23:
include/linux/vtime.h: In function 'vtime_account_guest_enter':
> include/linux/vtime.h:25:2: error: implicit declaration of
function 'vtime_account_kernel'; did you mean 'vtime_account_guest_enter'?
[-Werror=implicit-function-declaration]
25 | vtime_account_kernel(current);
| ^~~~~~~~~~~~~~~~~~~~
| vtime_account_guest_enter
include/linux/vtime.h: At top level:
> include/linux/vtime.h:103:13: warning: conflicting types for
'vtime_account_kernel'
103 | extern void vtime_account_kernel(struct
task_struct *tsk);
| ^~~~~~~~~~~~~~~~~~~~
include/linux/vtime.h:25:2: note: previous implicit declaration of
'vtime_account_kernel' was here
25 | vtime_account_kernel(current);
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/hardirq.h:9,
from include/linux/interrupt.h:11,
from include/linux/kernel_stat.h:9,
from include/linux/cgroup.h:26,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/powerpc/kernel/asm-offsets.c:23:
include/linux/vtime.h: In function 'vtime_account_guest_enter':
> include/linux/vtime.h:25:2: error: implicit declaration of
function 'vtime_account_kernel'; did you mean 'vtime_account_guest_enter'?
[-Werror=implicit-function-declaration]
25 | vtime_account_kernel(current);
| ^~~~~~~~~~~~~~~~~~~~
| vtime_account_guest_enter
include/linux/vtime.h: At top level:
> include/linux/vtime.h:103:13: warning: conflicting types for
'vtime_account_kernel'
103 | extern void vtime_account_kernel(struct
task_struct *tsk);
| ^~~~~~~~~~~~~~~~~~~~
include/linux/vtime.h:25:2: note: previous implicit declaration of
'vtime_account_kernel' was here
25 | vtime_account_kernel(current);
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:116: arch/powerpc/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1235: prepare0] Error 2
make[1]: Target 'modules_prepare' not remade because of errors.
make: *** [Makefile:215: __sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
--
In file included from include/linux/hardirq.h:9,
from include/linux/interrupt.h:11,
from include/linux/kernel_stat.h:9,
from include/linux/cgroup.h:26,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/powerpc/kernel/asm-offsets.c:23:
include/linux/vtime.h: In function 'vtime_account_guest_enter':
> include/linux/vtime.h:25:2: error: implicit declaration of
function 'vtime_account_kernel'; did you mean 'vtime_account_guest_enter'?
[-Werror=implicit-function-declaration]
25 | vtime_account_kernel(current);
| ^~~~~~~~~~~~~~~~~~~~
| vtime_account_guest_enter
include/linux/vtime.h: At top level:
> include/linux/vtime.h:103:13: warning: conflicting types for
'vtime_account_kernel'
103 | extern void vtime_account_kernel(struct
task_struct *tsk);
| ^~~~~~~~~~~~~~~~~~~~
include/linux/vtime.h:25:2: note: previous implicit declaration of
'vtime_account_kernel' was here
25 | vtime_account_kernel(current);
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:116: arch/powerpc/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1235: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:215: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +25 include/linux/vtime.h
22
23 static __always_inline void vtime_account_guest_enter(void)
24 {
25 vtime_account_kernel(current);
26 current->flags |=
PF_VCPU;
27 }
28
29 static __always_inline void vtime_account_guest_exit(void)
30 {
31
32 }
33
34 #elif defined(CONFIG_VIRT_CPU_ACCOUNTING_GEN)
35
36 /*
37 * Checks if vtime is enabled on some CPU. Cputime readers want to be careful
38 * in that case and compute the tickless cputime.
39 * For now vtime state is tied to context tracking. We might want to decouple
40 * those later if necessary.
41 */
42 static inline bool vtime_accounting_enabled(void)
43 {
44 return context_tracking_enabled();
45 }
46
47 static inline bool vtime_accounting_enabled_cpu(int cpu)
48 {
49 return context_tracking_enabled_cpu(cpu);
50 }
51
52 static inline bool vtime_accounting_enabled_this_cpu(void)
53 {
54 return context_tracking_enabled_this_cpu();
55 }
56
57 extern void vtime_task_switch_generic(struct task_struct *prev);
58
59 static inline void vtime_task_switch(struct task_struct *prev)
60 {
61 if (vtime_accounting_enabled_this_cpu())
62 vtime_task_switch_generic(prev);
63 }
64
65 static __always_inline void vtime_account_guest_enter(void)
66 {
67 if (vtime_accounting_enabled_this_cpu())
68 vtime_guest_enter(current);
69 else
70 current->flags |= PF_VCPU;
71 }
72
73 static __always_inline void vtime_account_guest_exit(void)
74 {
75 if (vtime_accounting_enabled_this_cpu())
76 vtime_guest_exit(current);
77 else
78 current->flags &= ~PF_VCPU;
79 }
80
81
82 #else /* !CONFIG_VIRT_CPU_ACCOUNTING */
83
84 static inline bool vtime_accounting_enabled_this_cpu(void) { return false; }
85 static inline void vtime_task_switch(struct task_struct *prev) { }
86
87 static __always_inline void vtime_account_guest_enter(void)
88 {
89 current->flags |= PF_VCPU;
90 }
91
92 static __always_inline void vtime_account_guest_exit(void)
93 {
94 current->flags &= ~PF_VCPU;
95 }
96
97 #endif
98
99 /*
100 * Common vtime APIs
101 */
102 #ifdef CONFIG_VIRT_CPU_ACCOUNTING
103 extern void vtime_account_kernel(struct task_struct *tsk);
104 extern void vtime_account_idle(struct task_struct *tsk);
105 #endif /* CONFIG_VIRT_CPU_ACCOUNTING */
106
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org