kernel test robot
2023-Feb-28 11:12 UTC
[PATCH v3 05/11] vduse: Support automatic irq callback affinity
Hi Xie, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on tip/irq/core] [also build test WARNING on linus/master next-20230228] [cannot apply to mst-vhost/linux-next v6.2] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Xie-Yongji/lib-group_cpus-Export-group_cpus_evenly/20230228-174438 patch link: https://lore.kernel.org/r/20230228094110.37-6-xieyongji%40bytedance.com patch subject: [PATCH v3 05/11] vduse: Support automatic irq callback affinity config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230228/202302281954.jRA7Qzq4-lkp at intel.com/config) compiler: m68k-linux-gcc (GCC) 12.1.0 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://github.com/intel-lab-lkp/linux/commit/6c15cc28cb814c0e6cb80955bc59517e80c15ae2 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Xie-Yongji/lib-group_cpus-Export-group_cpus_evenly/20230228-174438 git checkout 6c15cc28cb814c0e6cb80955bc59517e80c15ae2 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash drivers/vdpa/vdpa_user/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp at intel.com> | Link: https://lore.kernel.org/oe-kbuild-all/202302281954.jRA7Qzq4-lkp at intel.com/ All warnings (new ones prefixed by >>):>> drivers/vdpa/vdpa_user/vduse_dev.c:725:1: warning: no previous prototype for 'create_affinity_masks' [-Wmissing-prototypes]725 | create_affinity_masks(unsigned int nvecs, struct irq_affinity *affd) | ^~~~~~~~~~~~~~~~~~~~~ vim +/create_affinity_masks +725 drivers/vdpa/vdpa_user/vduse_dev.c 723 724 struct cpumask * > 725 create_affinity_masks(unsigned int nvecs, struct irq_affinity *affd) 726 { 727 unsigned int affvecs = 0, curvec, usedvecs, i; 728 struct cpumask *masks = NULL; 729 730 if (nvecs > affd->pre_vectors + affd->post_vectors) 731 affvecs = nvecs - affd->pre_vectors - affd->post_vectors; 732 733 if (!affd->calc_sets) 734 affd->calc_sets = default_calc_sets; 735 736 affd->calc_sets(affd, affvecs); 737 738 if (!affvecs) 739 return NULL; 740 741 masks = kcalloc(nvecs, sizeof(*masks), GFP_KERNEL); 742 if (!masks) 743 return NULL; 744 745 /* Fill out vectors at the beginning that don't need affinity */ 746 for (curvec = 0; curvec < affd->pre_vectors; curvec++) 747 cpumask_setall(&masks[curvec]); 748 749 for (i = 0, usedvecs = 0; i < affd->nr_sets; i++) { 750 unsigned int this_vecs = affd->set_size[i]; 751 int j; 752 struct cpumask *result = group_cpus_evenly(this_vecs); 753 754 if (!result) { 755 kfree(masks); 756 return NULL; 757 } 758 759 for (j = 0; j < this_vecs; j++) 760 cpumask_copy(&masks[curvec + j], &result[j]); 761 kfree(result); 762 763 curvec += this_vecs; 764 usedvecs += this_vecs; 765 } 766 767 /* Fill out vectors at the end that don't need affinity */ 768 if (usedvecs >= affvecs) 769 curvec = affd->pre_vectors + affvecs; 770 else 771 curvec = affd->pre_vectors + usedvecs; 772 for (; curvec < nvecs; curvec++) 773 cpumask_setall(&masks[curvec]); 774 775 return masks; 776 } 777 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests