All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Dietmar Eggemann <dietmar.eggemann@arm.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
	0day robot <lkp@intel.com>,
	Vincent Guittot <vincent.guittot@linaro.org>
Subject: kernel/sched/fair.c:9246:81: error: 'select_idle_mask' undeclared; did you mean 'select_idle_cpu'?
Date: Wed, 22 Jun 2022 11:26:41 +0800	[thread overview]
Message-ID: <202206221127.ZB5LLKZT-lkp@intel.com> (raw)

tree:   https://github.com/intel-lab-lkp/linux/commits/Vincent-Donnefort/feec-energy-margin-removal/20220621-170631
head:   2059fff7a5a2b6016ef5843c673845283a00a646
commit: a4a1ec79913664ac49b72cda8c3756c4da7c16b4 sched/fair: Rename select_idle_mask to select_rq_mask
date:   18 hours ago
config: x86_64-defconfig (https://download.01.org/0day-ci/archive/20220622/202206221127.ZB5LLKZT-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/a4a1ec79913664ac49b72cda8c3756c4da7c16b4
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Vincent-Donnefort/feec-energy-margin-removal/20220621-170631
        git checkout a4a1ec79913664ac49b72cda8c3756c4da7c16b4
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   In file included from include/asm-generic/percpu.h:7,
                    from arch/x86/include/asm/percpu.h:390,
                    from arch/x86/include/asm/current.h:6,
                    from include/linux/sched.h:12,
                    from include/linux/ratelimit.h:6,
                    from include/linux/dev_printk.h:16,
                    from include/linux/device.h:15,
                    from include/linux/energy_model.h:5,
                    from kernel/sched/fair.c:23:
   kernel/sched/fair.c: In function 'find_idlest_group':
>> kernel/sched/fair.c:9246:81: error: 'select_idle_mask' undeclared (first use in this function); did you mean 'select_idle_cpu'?
    9246 |                                 struct cpumask *cpus = this_cpu_cpumask_var_ptr(select_idle_mask);
         |                                                                                 ^~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:219:54: note: in definition of macro '__verify_pcpu_ptr'
     219 |         const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL;    \
         |                                                      ^~~
   include/linux/cpumask.h:761:37: note: in expansion of macro 'this_cpu_ptr'
     761 | #define this_cpu_cpumask_var_ptr(x) this_cpu_ptr(x)
         |                                     ^~~~~~~~~~~~
   kernel/sched/fair.c:9246:56: note: in expansion of macro 'this_cpu_cpumask_var_ptr'
    9246 |                                 struct cpumask *cpus = this_cpu_cpumask_var_ptr(select_idle_mask);
         |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~
   kernel/sched/fair.c:9246:81: note: each undeclared identifier is reported only once for each function it appears in
    9246 |                                 struct cpumask *cpus = this_cpu_cpumask_var_ptr(select_idle_mask);
         |                                                                                 ^~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:219:54: note: in definition of macro '__verify_pcpu_ptr'
     219 |         const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL;    \
         |                                                      ^~~
   include/linux/cpumask.h:761:37: note: in expansion of macro 'this_cpu_ptr'
     761 | #define this_cpu_cpumask_var_ptr(x) this_cpu_ptr(x)
         |                                     ^~~~~~~~~~~~
   kernel/sched/fair.c:9246:56: note: in expansion of macro 'this_cpu_cpumask_var_ptr'
    9246 |                                 struct cpumask *cpus = this_cpu_cpumask_var_ptr(select_idle_mask);
         |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~


vim +9246 kernel/sched/fair.c

57abff067a08488 Vincent Guittot    2019-10-18  9103  
57abff067a08488 Vincent Guittot    2019-10-18  9104  /*
57abff067a08488 Vincent Guittot    2019-10-18  9105   * find_idlest_group() finds and returns the least busy CPU group within the
57abff067a08488 Vincent Guittot    2019-10-18  9106   * domain.
57abff067a08488 Vincent Guittot    2019-10-18  9107   *
57abff067a08488 Vincent Guittot    2019-10-18  9108   * Assumes p is allowed on at least one CPU in sd.
57abff067a08488 Vincent Guittot    2019-10-18  9109   */
57abff067a08488 Vincent Guittot    2019-10-18  9110  static struct sched_group *
45da27732b0b9b7 Valentin Schneider 2020-04-15  9111  find_idlest_group(struct sched_domain *sd, struct task_struct *p, int this_cpu)
57abff067a08488 Vincent Guittot    2019-10-18  9112  {
57abff067a08488 Vincent Guittot    2019-10-18  9113  	struct sched_group *idlest = NULL, *local = NULL, *group = sd->groups;
57abff067a08488 Vincent Guittot    2019-10-18  9114  	struct sg_lb_stats local_sgs, tmp_sgs;
57abff067a08488 Vincent Guittot    2019-10-18  9115  	struct sg_lb_stats *sgs;
57abff067a08488 Vincent Guittot    2019-10-18  9116  	unsigned long imbalance;
57abff067a08488 Vincent Guittot    2019-10-18  9117  	struct sg_lb_stats idlest_sgs = {
57abff067a08488 Vincent Guittot    2019-10-18  9118  			.avg_load = UINT_MAX,
57abff067a08488 Vincent Guittot    2019-10-18  9119  			.group_type = group_overloaded,
57abff067a08488 Vincent Guittot    2019-10-18  9120  	};
57abff067a08488 Vincent Guittot    2019-10-18  9121  
57abff067a08488 Vincent Guittot    2019-10-18  9122  	do {
57abff067a08488 Vincent Guittot    2019-10-18  9123  		int local_group;
57abff067a08488 Vincent Guittot    2019-10-18  9124  
57abff067a08488 Vincent Guittot    2019-10-18  9125  		/* Skip over this group if it has no CPUs allowed */
57abff067a08488 Vincent Guittot    2019-10-18  9126  		if (!cpumask_intersects(sched_group_span(group),
57abff067a08488 Vincent Guittot    2019-10-18  9127  					p->cpus_ptr))
57abff067a08488 Vincent Guittot    2019-10-18  9128  			continue;
57abff067a08488 Vincent Guittot    2019-10-18  9129  
97886d9dcd86820 Aubrey Li          2021-03-24  9130  		/* Skip over this group if no cookie matched */
97886d9dcd86820 Aubrey Li          2021-03-24  9131  		if (!sched_group_cookie_match(cpu_rq(this_cpu), p, group))
97886d9dcd86820 Aubrey Li          2021-03-24  9132  			continue;
97886d9dcd86820 Aubrey Li          2021-03-24  9133  
57abff067a08488 Vincent Guittot    2019-10-18  9134  		local_group = cpumask_test_cpu(this_cpu,
57abff067a08488 Vincent Guittot    2019-10-18  9135  					       sched_group_span(group));
57abff067a08488 Vincent Guittot    2019-10-18  9136  
57abff067a08488 Vincent Guittot    2019-10-18  9137  		if (local_group) {
57abff067a08488 Vincent Guittot    2019-10-18  9138  			sgs = &local_sgs;
57abff067a08488 Vincent Guittot    2019-10-18  9139  			local = group;
57abff067a08488 Vincent Guittot    2019-10-18  9140  		} else {
57abff067a08488 Vincent Guittot    2019-10-18  9141  			sgs = &tmp_sgs;
57abff067a08488 Vincent Guittot    2019-10-18  9142  		}
57abff067a08488 Vincent Guittot    2019-10-18  9143  
57abff067a08488 Vincent Guittot    2019-10-18  9144  		update_sg_wakeup_stats(sd, group, sgs, p);
57abff067a08488 Vincent Guittot    2019-10-18  9145  
57abff067a08488 Vincent Guittot    2019-10-18  9146  		if (!local_group && update_pick_idlest(idlest, &idlest_sgs, group, sgs)) {
57abff067a08488 Vincent Guittot    2019-10-18  9147  			idlest = group;
57abff067a08488 Vincent Guittot    2019-10-18  9148  			idlest_sgs = *sgs;
57abff067a08488 Vincent Guittot    2019-10-18  9149  		}
57abff067a08488 Vincent Guittot    2019-10-18  9150  
57abff067a08488 Vincent Guittot    2019-10-18  9151  	} while (group = group->next, group != sd->groups);
57abff067a08488 Vincent Guittot    2019-10-18  9152  
57abff067a08488 Vincent Guittot    2019-10-18  9153  
57abff067a08488 Vincent Guittot    2019-10-18  9154  	/* There is no idlest group to push tasks to */
57abff067a08488 Vincent Guittot    2019-10-18  9155  	if (!idlest)
57abff067a08488 Vincent Guittot    2019-10-18  9156  		return NULL;
57abff067a08488 Vincent Guittot    2019-10-18  9157  
7ed735c33104f3c Vincent Guittot    2019-12-04  9158  	/* The local group has been skipped because of CPU affinity */
7ed735c33104f3c Vincent Guittot    2019-12-04  9159  	if (!local)
7ed735c33104f3c Vincent Guittot    2019-12-04  9160  		return idlest;
7ed735c33104f3c Vincent Guittot    2019-12-04  9161  
57abff067a08488 Vincent Guittot    2019-10-18  9162  	/*
57abff067a08488 Vincent Guittot    2019-10-18  9163  	 * If the local group is idler than the selected idlest group
57abff067a08488 Vincent Guittot    2019-10-18  9164  	 * don't try and push the task.
57abff067a08488 Vincent Guittot    2019-10-18  9165  	 */
57abff067a08488 Vincent Guittot    2019-10-18  9166  	if (local_sgs.group_type < idlest_sgs.group_type)
57abff067a08488 Vincent Guittot    2019-10-18  9167  		return NULL;
57abff067a08488 Vincent Guittot    2019-10-18  9168  
57abff067a08488 Vincent Guittot    2019-10-18  9169  	/*
57abff067a08488 Vincent Guittot    2019-10-18  9170  	 * If the local group is busier than the selected idlest group
57abff067a08488 Vincent Guittot    2019-10-18  9171  	 * try and push the task.
57abff067a08488 Vincent Guittot    2019-10-18  9172  	 */
57abff067a08488 Vincent Guittot    2019-10-18  9173  	if (local_sgs.group_type > idlest_sgs.group_type)
57abff067a08488 Vincent Guittot    2019-10-18  9174  		return idlest;
57abff067a08488 Vincent Guittot    2019-10-18  9175  
57abff067a08488 Vincent Guittot    2019-10-18  9176  	switch (local_sgs.group_type) {
57abff067a08488 Vincent Guittot    2019-10-18  9177  	case group_overloaded:
57abff067a08488 Vincent Guittot    2019-10-18  9178  	case group_fully_busy:
5c339005f854fa7 Mel Gorman         2020-11-20  9179  
5c339005f854fa7 Mel Gorman         2020-11-20  9180  		/* Calculate allowed imbalance based on load */
5c339005f854fa7 Mel Gorman         2020-11-20  9181  		imbalance = scale_load_down(NICE_0_LOAD) *
5c339005f854fa7 Mel Gorman         2020-11-20  9182  				(sd->imbalance_pct-100) / 100;
5c339005f854fa7 Mel Gorman         2020-11-20  9183  
57abff067a08488 Vincent Guittot    2019-10-18  9184  		/*
57abff067a08488 Vincent Guittot    2019-10-18  9185  		 * When comparing groups across NUMA domains, it's possible for
57abff067a08488 Vincent Guittot    2019-10-18  9186  		 * the local domain to be very lightly loaded relative to the
57abff067a08488 Vincent Guittot    2019-10-18  9187  		 * remote domains but "imbalance" skews the comparison making
57abff067a08488 Vincent Guittot    2019-10-18  9188  		 * remote CPUs look much more favourable. When considering
57abff067a08488 Vincent Guittot    2019-10-18  9189  		 * cross-domain, add imbalance to the load on the remote node
57abff067a08488 Vincent Guittot    2019-10-18  9190  		 * and consider staying local.
57abff067a08488 Vincent Guittot    2019-10-18  9191  		 */
57abff067a08488 Vincent Guittot    2019-10-18  9192  
57abff067a08488 Vincent Guittot    2019-10-18  9193  		if ((sd->flags & SD_NUMA) &&
57abff067a08488 Vincent Guittot    2019-10-18  9194  		    ((idlest_sgs.avg_load + imbalance) >= local_sgs.avg_load))
57abff067a08488 Vincent Guittot    2019-10-18  9195  			return NULL;
57abff067a08488 Vincent Guittot    2019-10-18  9196  
57abff067a08488 Vincent Guittot    2019-10-18  9197  		/*
57abff067a08488 Vincent Guittot    2019-10-18  9198  		 * If the local group is less loaded than the selected
57abff067a08488 Vincent Guittot    2019-10-18  9199  		 * idlest group don't try and push any tasks.
57abff067a08488 Vincent Guittot    2019-10-18  9200  		 */
57abff067a08488 Vincent Guittot    2019-10-18  9201  		if (idlest_sgs.avg_load >= (local_sgs.avg_load + imbalance))
57abff067a08488 Vincent Guittot    2019-10-18  9202  			return NULL;
57abff067a08488 Vincent Guittot    2019-10-18  9203  
57abff067a08488 Vincent Guittot    2019-10-18  9204  		if (100 * local_sgs.avg_load <= sd->imbalance_pct * idlest_sgs.avg_load)
57abff067a08488 Vincent Guittot    2019-10-18  9205  			return NULL;
57abff067a08488 Vincent Guittot    2019-10-18  9206  		break;
57abff067a08488 Vincent Guittot    2019-10-18  9207  
57abff067a08488 Vincent Guittot    2019-10-18  9208  	case group_imbalanced:
57abff067a08488 Vincent Guittot    2019-10-18  9209  	case group_asym_packing:
57abff067a08488 Vincent Guittot    2019-10-18  9210  		/* Those type are not used in the slow wakeup path */
57abff067a08488 Vincent Guittot    2019-10-18  9211  		return NULL;
57abff067a08488 Vincent Guittot    2019-10-18  9212  
57abff067a08488 Vincent Guittot    2019-10-18  9213  	case group_misfit_task:
57abff067a08488 Vincent Guittot    2019-10-18  9214  		/* Select group with the highest max capacity */
57abff067a08488 Vincent Guittot    2019-10-18  9215  		if (local->sgc->max_capacity >= idlest->sgc->max_capacity)
57abff067a08488 Vincent Guittot    2019-10-18  9216  			return NULL;
57abff067a08488 Vincent Guittot    2019-10-18  9217  		break;
57abff067a08488 Vincent Guittot    2019-10-18  9218  
57abff067a08488 Vincent Guittot    2019-10-18  9219  	case group_has_spare:
cb29a5c19d2d68a Mel Gorman         2022-05-20  9220  #ifdef CONFIG_NUMA
57abff067a08488 Vincent Guittot    2019-10-18  9221  		if (sd->flags & SD_NUMA) {
f5b2eeb49991047 K Prateek Nayak    2022-04-07  9222  			int imb_numa_nr = sd->imb_numa_nr;
57abff067a08488 Vincent Guittot    2019-10-18  9223  #ifdef CONFIG_NUMA_BALANCING
57abff067a08488 Vincent Guittot    2019-10-18  9224  			int idlest_cpu;
57abff067a08488 Vincent Guittot    2019-10-18  9225  			/*
57abff067a08488 Vincent Guittot    2019-10-18  9226  			 * If there is spare capacity at NUMA, try to select
57abff067a08488 Vincent Guittot    2019-10-18  9227  			 * the preferred node
57abff067a08488 Vincent Guittot    2019-10-18  9228  			 */
57abff067a08488 Vincent Guittot    2019-10-18  9229  			if (cpu_to_node(this_cpu) == p->numa_preferred_nid)
57abff067a08488 Vincent Guittot    2019-10-18  9230  				return NULL;
57abff067a08488 Vincent Guittot    2019-10-18  9231  
57abff067a08488 Vincent Guittot    2019-10-18  9232  			idlest_cpu = cpumask_first(sched_group_span(idlest));
57abff067a08488 Vincent Guittot    2019-10-18  9233  			if (cpu_to_node(idlest_cpu) == p->numa_preferred_nid)
57abff067a08488 Vincent Guittot    2019-10-18  9234  				return idlest;
cb29a5c19d2d68a Mel Gorman         2022-05-20  9235  #endif /* CONFIG_NUMA_BALANCING */
57abff067a08488 Vincent Guittot    2019-10-18  9236  			/*
2cfb7a1b031b0e8 Mel Gorman         2022-02-08  9237  			 * Otherwise, keep the task close to the wakeup source
2cfb7a1b031b0e8 Mel Gorman         2022-02-08  9238  			 * and improve locality if the number of running tasks
2cfb7a1b031b0e8 Mel Gorman         2022-02-08  9239  			 * would remain below threshold where an imbalance is
f5b2eeb49991047 K Prateek Nayak    2022-04-07  9240  			 * allowed while accounting for the possibility the
f5b2eeb49991047 K Prateek Nayak    2022-04-07  9241  			 * task is pinned to a subset of CPUs. If there is a
f5b2eeb49991047 K Prateek Nayak    2022-04-07  9242  			 * real need of migration, periodic load balance will
f5b2eeb49991047 K Prateek Nayak    2022-04-07  9243  			 * take care of it.
57abff067a08488 Vincent Guittot    2019-10-18  9244  			 */
f5b2eeb49991047 K Prateek Nayak    2022-04-07  9245  			if (p->nr_cpus_allowed != NR_CPUS) {
f5b2eeb49991047 K Prateek Nayak    2022-04-07 @9246  				struct cpumask *cpus = this_cpu_cpumask_var_ptr(select_idle_mask);
f5b2eeb49991047 K Prateek Nayak    2022-04-07  9247  
f5b2eeb49991047 K Prateek Nayak    2022-04-07  9248  				cpumask_and(cpus, sched_group_span(local), p->cpus_ptr);
f5b2eeb49991047 K Prateek Nayak    2022-04-07  9249  				imb_numa_nr = min(cpumask_weight(cpus), sd->imb_numa_nr);
f5b2eeb49991047 K Prateek Nayak    2022-04-07  9250  			}
f5b2eeb49991047 K Prateek Nayak    2022-04-07  9251  
cb29a5c19d2d68a Mel Gorman         2022-05-20  9252  			imbalance = abs(local_sgs.idle_cpus - idlest_sgs.idle_cpus);
cb29a5c19d2d68a Mel Gorman         2022-05-20  9253  			if (!adjust_numa_imbalance(imbalance,
cb29a5c19d2d68a Mel Gorman         2022-05-20  9254  						   local_sgs.sum_nr_running + 1,
f5b2eeb49991047 K Prateek Nayak    2022-04-07  9255  						   imb_numa_nr)) {
57abff067a08488 Vincent Guittot    2019-10-18  9256  				return NULL;
57abff067a08488 Vincent Guittot    2019-10-18  9257  			}
cb29a5c19d2d68a Mel Gorman         2022-05-20  9258  		}
cb29a5c19d2d68a Mel Gorman         2022-05-20  9259  #endif /* CONFIG_NUMA */
57abff067a08488 Vincent Guittot    2019-10-18  9260  
57abff067a08488 Vincent Guittot    2019-10-18  9261  		/*
57abff067a08488 Vincent Guittot    2019-10-18  9262  		 * Select group with highest number of idle CPUs. We could also
57abff067a08488 Vincent Guittot    2019-10-18  9263  		 * compare the utilization which is more stable but it can end
57abff067a08488 Vincent Guittot    2019-10-18  9264  		 * up that the group has less spare capacity but finally more
57abff067a08488 Vincent Guittot    2019-10-18  9265  		 * idle CPUs which means more opportunity to run task.
57abff067a08488 Vincent Guittot    2019-10-18  9266  		 */
57abff067a08488 Vincent Guittot    2019-10-18  9267  		if (local_sgs.idle_cpus >= idlest_sgs.idle_cpus)
57abff067a08488 Vincent Guittot    2019-10-18  9268  			return NULL;
57abff067a08488 Vincent Guittot    2019-10-18  9269  		break;
57abff067a08488 Vincent Guittot    2019-10-18  9270  	}
57abff067a08488 Vincent Guittot    2019-10-18  9271  
57abff067a08488 Vincent Guittot    2019-10-18  9272  	return idlest;
57abff067a08488 Vincent Guittot    2019-10-18  9273  }
57abff067a08488 Vincent Guittot    2019-10-18  9274  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

                 reply	other threads:[~2022-06-22  3:28 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202206221127.ZB5LLKZT-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vincent.guittot@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.