Re: [PATCH 1/1] ice: Change assigning method of the CPU affinity masks
From: Philip Li
Date: Wed Feb 08 2023 - 21:46:43 EST
On Thu, Feb 09, 2023 at 03:11:55AM +0800, kernel test robot wrote:
> Hi Pawel,
>
> Thank you for the patch! Perhaps something to improve:
>
> [auto build test WARNING on tnguy-next-queue/dev-queue]
> [also build test WARNING on linus/master v6.2-rc7]
> [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/Pawel-Chmielewski/ice-Change-assigning-method-of-the-CPU-affinity-masks/20230208-234144
> base: https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git dev-queue
> patch link: https://lore.kernel.org/r/20230208153905.109912-1-pawel.chmielewski%40intel.com
> patch subject: [PATCH 1/1] ice: Change assigning method of the CPU affinity masks
> config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20230209/202302090307.GQOJ4jik-lkp@xxxxxxxxx/config)
> compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
> reproduce (this is a W=1 build):
> # https://github.com/intel-lab-lkp/linux/commit/33971c3245ae75900dbc4cc9aa2b76ff9cdb534c
> git remote add linux-review https://github.com/intel-lab-lkp/linux
> git fetch --no-tags linux-review Pawel-Chmielewski/ice-Change-assigning-method-of-the-CPU-affinity-masks/20230208-234144
> git checkout 33971c3245ae75900dbc4cc9aa2b76ff9cdb534c
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> make W=1 O=build_dir ARCH=x86_64 olddefconfig
> make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/net/
>
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> | Link: https://lore.kernel.org/oe-kbuild-all/20230208153905.109912-1-pawel.chmielewski@xxxxxxxxx
Sorry that the link is wrong, which should be
Link: https://lore.kernel.org/oe-kbuild-all/202302090307.GQOJ4jik-lkp@xxxxxxxxx/
>
> All warnings (new ones prefixed by >>):
>
> drivers/net/ethernet/intel/ice/ice_base.c: In function 'ice_vsi_alloc_q_vectors':
> drivers/net/ethernet/intel/ice/ice_base.c:678:9: error: implicit declaration of function 'for_each_numa_hop_mask'; did you mean 'for_each_node_mask'? [-Werror=implicit-function-declaration]
> 678 | for_each_numa_hop_mask(aff_mask, numa_node) {
> | ^~~~~~~~~~~~~~~~~~~~~~
> | for_each_node_mask
> drivers/net/ethernet/intel/ice/ice_base.c:678:52: error: expected ';' before '{' token
> 678 | for_each_numa_hop_mask(aff_mask, numa_node) {
> | ^~
> | ;
> >> drivers/net/ethernet/intel/ice/ice_base.c:663:20: warning: unused variable 'cpu' [-Wunused-variable]
> 663 | u16 v_idx, cpu = 0;
> | ^~~
> >> drivers/net/ethernet/intel/ice/ice_base.c:660:31: warning: unused variable 'last_aff_mask' [-Wunused-variable]
> 660 | cpumask_t *aff_mask, *last_aff_mask = cpu_none_mask;
> | ^~~~~~~~~~~~~
> cc1: some warnings being treated as errors
>
>
> vim +/cpu +663 drivers/net/ethernet/intel/ice/ice_base.c
>
> 650
> 651 /**
> 652 * ice_vsi_alloc_q_vectors - Allocate memory for interrupt vectors
> 653 * @vsi: the VSI being configured
> 654 *
> 655 * We allocate one q_vector per queue interrupt. If allocation fails we
> 656 * return -ENOMEM.
> 657 */
> 658 int ice_vsi_alloc_q_vectors(struct ice_vsi *vsi)
> 659 {
> > 660 cpumask_t *aff_mask, *last_aff_mask = cpu_none_mask;
> 661 struct device *dev = ice_pf_to_dev(vsi->back);
> 662 int numa_node = dev->numa_node;
> > 663 u16 v_idx, cpu = 0;
> 664 int err;
> 665
> 666 if (vsi->q_vectors[0]) {
> 667 dev_dbg(dev, "VSI %d has existing q_vectors\n", vsi->vsi_num);
> 668 return -EEXIST;
> 669 }
> 670
> 671 for (v_idx = 0; v_idx < vsi->num_q_vectors; v_idx++) {
> 672 err = ice_vsi_alloc_q_vector(vsi, v_idx);
> 673 if (err)
> 674 goto err_out;
> 675 }
> 676
> 677 v_idx = 0;
> > 678 for_each_numa_hop_mask(aff_mask, numa_node) {
> 679 for_each_cpu_andnot(cpu, aff_mask, last_aff_mask)
> 680 if (v_idx < vsi->num_q_vectors) {
> 681 if (cpu_online(cpu))
> 682 cpumask_set_cpu(cpu, &vsi->q_vectors[v_idx]->affinity_mask);
> 683 v_idx++;
> 684 }
> 685 last_aff_mask = aff_mask;
> 686 }
> 687
> 688 return 0;
> 689
> 690 err_out:
> 691 while (v_idx--)
> 692 ice_free_q_vector(vsi, v_idx);
> 693
> 694 dev_err(dev, "Failed to allocate %d q_vector for VSI %d, ret=%d\n",
> 695 vsi->num_q_vectors, vsi->vsi_num, err);
> 696 vsi->num_q_vectors = 0;
> 697 return err;
> 698 }
> 699
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests
>