[kvm:queue 89/92] arch/x86/kvm/debugfs.c:115:18: error: implicit declaration of function 'kvm_mmu_slot_lpages'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
head:   6cd974485e2574d94221268760d84c9c19d1c4ff
commit: 53c1304cfe8446c0bfbe2dcac1995bfa5907a1d2 [89/92] KVM: X86: Introduce mmu_rmaps_stat per-vm debugfs file
config: x86_64-randconfig-a011-20210803 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 4f71f59bf3d9914188a11d0c41bedbb339d36ff5)
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://git.kernel.org/pub/scm/virt/kvm/kvm.git/commit/?id=53c1304cfe8446c0bfbe2dcac1995bfa5907a1d2
        git remote add kvm https://git.kernel.org/pub/scm/virt/kvm/kvm.git
        git fetch --no-tags kvm queue
        git checkout 53c1304cfe8446c0bfbe2dcac1995bfa5907a1d2
        # 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: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> arch/x86/kvm/debugfs.c:115:18: error: implicit declaration of function 'kvm_mmu_slot_lpages' [-Werror,-Wimplicit-function-declaration]
                                   lpage_size = kvm_mmu_slot_lpages(slot, k + 1);
                                                ^
   1 error generated.


vim +/kvm_mmu_slot_lpages +115 arch/x86/kvm/debugfs.c

    85	
    86	static int kvm_mmu_rmaps_stat_show(struct seq_file *m, void *v)
    87	{
    88		struct kvm_rmap_head *rmap;
    89		struct kvm *kvm = m->private;
    90		struct kvm_memory_slot *slot;
    91		struct kvm_memslots *slots;
    92		unsigned int lpage_size, index;
    93		/* Still small enough to be on the stack */
    94		unsigned int *log[KVM_NR_PAGE_SIZES], *cur;
    95		int i, j, k, l, ret;
    96	
    97		memset(log, 0, sizeof(log));
    98	
    99		ret = -ENOMEM;
   100		for (i = 0; i < KVM_NR_PAGE_SIZES; i++) {
   101			log[i] = kzalloc(RMAP_LOG_SIZE * sizeof(unsigned int), GFP_KERNEL);
   102			if (!log[i])
   103				goto out;
   104		}
   105	
   106		mutex_lock(&kvm->slots_lock);
   107		write_lock(&kvm->mmu_lock);
   108	
   109		for (i = 0; i < KVM_ADDRESS_SPACE_NUM; i++) {
   110			slots = __kvm_memslots(kvm, i);
   111			for (j = 0; j < slots->used_slots; j++) {
   112				slot = &slots->memslots[j];
   113				for (k = 0; k < KVM_NR_PAGE_SIZES; k++) {
   114					rmap = slot->arch.rmap[k];
 > 115					lpage_size = kvm_mmu_slot_lpages(slot, k + 1);
   116					cur = log[k];
   117					for (l = 0; l < lpage_size; l++) {
   118						index = ffs(pte_list_count(&rmap[l]));
   119						if (WARN_ON_ONCE(index >= RMAP_LOG_SIZE))
   120							index = RMAP_LOG_SIZE - 1;
   121						cur[index]++;
   122					}
   123				}
   124			}
   125		}
   126	
   127		write_unlock(&kvm->mmu_lock);
   128		mutex_unlock(&kvm->slots_lock);
   129	
   130		/* index=0 counts no rmap; index=1 counts 1 rmap */
   131		seq_printf(m, "Rmap_Count:\t0\t1\t");
   132		for (i = 2; i < RMAP_LOG_SIZE; i++) {
   133			j = 1 << (i - 1);
   134			k = (1 << i) - 1;
   135			seq_printf(m, "%d-%d\t", j, k);
   136		}
   137		seq_printf(m, "\n");
   138	
   139		for (i = 0; i < KVM_NR_PAGE_SIZES; i++) {
   140			seq_printf(m, "Level=%s:\t", kvm_lpage_str[i]);
   141			cur = log[i];
   142			for (j = 0; j < RMAP_LOG_SIZE; j++)
   143				seq_printf(m, "%d\t", cur[j]);
   144			seq_printf(m, "\n");
   145		}
   146	
   147		ret = 0;
   148	out:
   149		for (i = 0; i < KVM_NR_PAGE_SIZES; i++)
   150			if (log[i])
   151				kfree(log[i]);
   152	
   153		return ret;
   154	}
   155	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux