Hi Tianyu,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on kvm/linux-next]
[also build test ERROR on v4.18-rc3 next-20180702]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Tianyu-Lan/KVM-x86-hyper-V-Introduce-PV-guest-address-space-mapping-flush-support/20180703-012046
base:   https://git.kernel.org/pub/scm/virt/kvm/kvm.git linux-next
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=powerpc 

All errors (new ones prefixed by >>):

   arch/powerpc/kvm/../../../virt/kvm/kvm_main.c: In function 
'kvm_flush_remote_tlbs':
>> arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:265:6: error: 'kvm_x86_ops' 
>> undeclared (first use in this function); did you mean 'kvm_xive_ops'?
     if (kvm_x86_ops->tlb_remote_flush &&
         ^~~~~~~~~~~
         kvm_xive_ops
   arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:265:6: note: each undeclared 
identifier is reported only once for each function it appears in

vim +265 arch/powerpc/kvm/../../../virt/kvm/kvm_main.c

   255  
   256  #ifndef CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL
   257  void kvm_flush_remote_tlbs(struct kvm *kvm)
   258  {
   259          long dirty_count;
   260  
   261          /*
   262           * Call tlb_remote_flush first and go back old way when
   263           * return failure.
   264           */
 > 265          if (kvm_x86_ops->tlb_remote_flush &&
   266              !kvm_x86_ops->tlb_remote_flush(kvm))
   267                  return;
   268  
   269          /*
   270           * Read tlbs_dirty before setting KVM_REQ_TLB_FLUSH in
   271           * kvm_make_all_cpus_request.
   272           */
   273          dirty_count = smp_load_acquire(&kvm->tlbs_dirty);
   274  
   275          /*
   276           * We want to publish modifications to the page tables before 
reading
   277           * mode. Pairs with a memory barrier in arch-specific code.
   278           * - x86: smp_mb__after_srcu_read_unlock in vcpu_enter_guest
   279           * and smp_mb in walk_shadow_page_lockless_begin/end.
   280           * - powerpc: smp_mb in kvmppc_prepare_to_enter.
   281           *
   282           * There is already an smp_mb__after_atomic() before
   283           * kvm_make_all_cpus_request() reads vcpu->mode. We reuse that
   284           * barrier here.
   285           */
   286          if (kvm_make_all_cpus_request(kvm, KVM_REQ_TLB_FLUSH))
   287                  ++kvm->stat.remote_tlb_flush;
   288          cmpxchg(&kvm->tlbs_dirty, dirty_count, 0);
   289  }
   290  EXPORT_SYMBOL_GPL(kvm_flush_remote_tlbs);
   291  #endif
   292  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to