Hi Thomas,
I love your patch! Yet something to improve:
[auto build test ERROR on kvm/linux-next]
[cannot apply to tip/auto-latest linus/master linux/master v5.7-rc6 next-20200519]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see
https://stackoverflow.com/a/37406982]
url:
https://github.com/0day-ci/linux/commits/Thomas-Gleixner/x86-KVM-Async-PF...
base:
https://git.kernel.org/pub/scm/virt/kvm/kvm.git linux-next
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (
https://github.com/llvm/llvm-project
e6658079aca6d971b4e9d7137a3a2ecbc9c34aec)
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
> arch/x86/kvm/svm/svm.c:3330:8: error: unknown type name
'noinstr'
static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu,
^
> arch/x86/kvm/svm/svm.c:3345:2: error: implicit declaration of
function 'instrumentation_begin' [-Werror,-Wimplicit-function-declaration]
instrumentation_begin();
^
arch/x86/kvm/svm/svm.c:3346:2: error: implicit declaration of function
'trace_hardirqs_on_prepare' [-Werror,-Wimplicit-function-declaration]
trace_hardirqs_on_prepare();
^
arch/x86/kvm/svm/svm.c:3346:2: note: did you mean 'trace_hardirqs_on'?
include/linux/irqflags.h:32:15: note: 'trace_hardirqs_on' declared here
extern void trace_hardirqs_on(void);
^
arch/x86/kvm/svm/svm.c:3347:2: error: implicit declaration of function
'lockdep_hardirqs_on_prepare' [-Werror,-Wimplicit-function-declaration]
lockdep_hardirqs_on_prepare(CALLER_ADDR0);
^
arch/x86/kvm/svm/svm.c:3347:2: note: did you mean 'trace_hardirqs_on_prepare'?
arch/x86/kvm/svm/svm.c:3346:2: note: 'trace_hardirqs_on_prepare' declared here
trace_hardirqs_on_prepare();
^
> arch/x86/kvm/svm/svm.c:3348:2: error: implicit declaration of
function 'instrumentation_end' [-Werror,-Wimplicit-function-declaration]
instrumentation_end();
^
arch/x86/kvm/svm/svm.c:3348:2: note: did you mean 'instrumentation_begin'?
arch/x86/kvm/svm/svm.c:3345:2: note: 'instrumentation_begin' declared here
instrumentation_begin();
^
arch/x86/kvm/svm/svm.c:3380:2: error: implicit declaration of function
'trace_hardirqs_off_prepare' [-Werror,-Wimplicit-function-declaration]
trace_hardirqs_off_prepare();
^
arch/x86/kvm/svm/svm.c:3380:2: note: did you mean 'trace_hardirqs_on_prepare'?
arch/x86/kvm/svm/svm.c:3346:2: note: 'trace_hardirqs_on_prepare' declared here
trace_hardirqs_on_prepare();
^
6 errors generated.
vim +/noinstr +3330 arch/x86/kvm/svm/svm.c
3329
3330 static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu,
3331 struct vcpu_svm *svm)
3332 {
3333 /*
3334 * VMENTER enables interrupts (host state), but the kernel state is
3335 * interrupts disabled when this is invoked. Also tell RCU about
3336 * it. This is the same logic as for exit_to_user_mode().
3337 *
3338 * This ensures that e.g. latency analysis on the host observes
3339 * guest mode as interrupt enabled.
3340 *
3341 * guest_enter_irqoff() informs context tracking about the
3342 * transition to guest mode and if enabled adjusts RCU state
3343 * accordingly.
3344 */
3345 instrumentation_begin();
3346 trace_hardirqs_on_prepare();
3347 lockdep_hardirqs_on_prepare(CALLER_ADDR0);
3348 instrumentation_end();
3349
3350 guest_enter_irqoff();
3351 lockdep_hardirqs_on(CALLER_ADDR0);
3352
3353 __svm_vcpu_run(svm->vmcb_pa, (unsigned long *)&svm->vcpu.arch.regs);
3354
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org