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