CC: [email protected]
CC: [email protected]
TO: Andy Shevchenko <[email protected]>
CC: Andrew Morton <[email protected]>
CC: Linux Memory Management List <[email protected]>
CC: Cezary Rojewski <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   dcc0b49040c70ad827a7f3d58a21b01fdb14e749
commit: e130816164e244b692921de49771eeb28205152d include/linux/list.h: add a 
macro to test if entry is pointing to the head
date:   4 months ago
:::::: branch date: 2 days ago
:::::: commit date: 4 months ago
config: powerpc-randconfig-s031-20210214 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-215-g0fb77bb6-dirty
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e130816164e244b692921de49771eeb28205152d
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout e130816164e244b692921de49771eeb28205152d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


"sparse warnings: (new ones prefixed by >>)"
   arch/powerpc/kvm/book3s_hv.c:3561:5: sparse: sparse: symbol 
'kvmhv_p9_guest_entry' was not declared. Should it be static?
   arch/powerpc/kvm/book3s_hv.c:616:17: sparse: sparse: context imbalance in 
'kvmppc_update_vpa' - unexpected unlock
   arch/powerpc/kvm/book3s_hv.c: note: in included file:
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__be64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__be64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__be64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__be64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:963:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__be64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__be64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__be64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__be64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
   arch/powerpc/include/asm/kvm_ppc.h:966:1: sparse: sparse: cast to restricted 
__le64
>> arch/powerpc/kvm/book3s_hv.c:2935:20: sparse: sparse: context imbalance in 
>> 'collect_piggybacks' - different lock contexts for basic block
   arch/powerpc/kvm/book3s_hv.c:3186:25: sparse: sparse: context imbalance in 
'kvmppc_run_core' - unexpected unlock
   arch/powerpc/kvm/book3s_hv.c:3836:17: sparse: sparse: context imbalance in 
'kvmppc_vcore_blocked' - unexpected unlock

vim +/collect_piggybacks +2935 arch/powerpc/kvm/book3s_hv.c

d911f0beddc2a92 Paul Mackerras 2015-03-28  2906  
ec2571650826168 Paul Mackerras 2015-06-24  2907  static void 
collect_piggybacks(struct core_info *cip, int target_threads)
25fedfca94cfbf2 Paul Mackerras 2015-03-28  2908  {
ec2571650826168 Paul Mackerras 2015-06-24  2909         struct 
preempted_vcore_list *lp = this_cpu_ptr(&preempted_vcores);
ec2571650826168 Paul Mackerras 2015-06-24  2910         struct kvmppc_vcore 
*pvc, *vcnext;
ec2571650826168 Paul Mackerras 2015-06-24  2911  
ec2571650826168 Paul Mackerras 2015-06-24  2912         spin_lock(&lp->lock);
ec2571650826168 Paul Mackerras 2015-06-24  2913         
list_for_each_entry_safe(pvc, vcnext, &lp->list, preempt_list) {
ec2571650826168 Paul Mackerras 2015-06-24  2914                 if 
(!spin_trylock(&pvc->lock))
ec2571650826168 Paul Mackerras 2015-06-24  2915                         
continue;
ec2571650826168 Paul Mackerras 2015-06-24  2916                 
prepare_threads(pvc);
d28eafc5a64045c Paul Mackerras 2019-08-27  2917                 if 
(!pvc->n_runnable || !pvc->kvm->arch.mmu_ready) {
ec2571650826168 Paul Mackerras 2015-06-24  2918                         
list_del_init(&pvc->preempt_list);
ec2571650826168 Paul Mackerras 2015-06-24  2919                         if 
(pvc->runner == NULL) {
ec2571650826168 Paul Mackerras 2015-06-24  2920                                 
pvc->vcore_state = VCORE_INACTIVE;
ec2571650826168 Paul Mackerras 2015-06-24  2921                                 
kvmppc_core_end_stolen(pvc);
ec2571650826168 Paul Mackerras 2015-06-24  2922                         }
ec2571650826168 Paul Mackerras 2015-06-24  2923                         
spin_unlock(&pvc->lock);
ec2571650826168 Paul Mackerras 2015-06-24  2924                         
continue;
ec2571650826168 Paul Mackerras 2015-06-24  2925                 }
ec2571650826168 Paul Mackerras 2015-06-24  2926                 if 
(!can_piggyback(pvc, cip, target_threads)) {
ec2571650826168 Paul Mackerras 2015-06-24  2927                         
spin_unlock(&pvc->lock);
ec2571650826168 Paul Mackerras 2015-06-24  2928                         
continue;
ec2571650826168 Paul Mackerras 2015-06-24  2929                 }
ec2571650826168 Paul Mackerras 2015-06-24  2930                 
kvmppc_core_end_stolen(pvc);
ec2571650826168 Paul Mackerras 2015-06-24  2931                 
pvc->vcore_state = VCORE_PIGGYBACK;
ec2571650826168 Paul Mackerras 2015-06-24  2932                 if 
(cip->total_threads >= target_threads)
ec2571650826168 Paul Mackerras 2015-06-24  2933                         break;
ec2571650826168 Paul Mackerras 2015-06-24  2934         }
ec2571650826168 Paul Mackerras 2015-06-24 @2935         spin_unlock(&lp->lock);
ec2571650826168 Paul Mackerras 2015-06-24  2936  }
ec2571650826168 Paul Mackerras 2015-06-24  2937  

:::::: The code at line 2935 was first introduced by commit
:::::: ec257165082616841a354dd915801ed43e3553be KVM: PPC: Book3S HV: Make use 
of unused threads when running guests

:::::: TO: Paul Mackerras <[email protected]>
:::::: CC: Alexander Graf <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to