Re: [PATCH V2 2/2] thermal: cpufreq_cooling: Reuse sched_cpu_util()

From: kernel test robot
Date: Fri Oct 23 2020 - 12:22:35 EST


Hi Viresh,

I love your patch! Perhaps something to improve:

[auto build test WARNING on tip/sched/core]
[also build test WARNING on tip/master pm/linux-next linus/master v5.9 next-20201023]
[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]

url: https://github.com/0day-ci/linux/commits/Viresh-Kumar/cpufreq_cooling-Get-effective-CPU-utilization-from-scheduler/20201023-182231
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git feff2e65efd8d84cf831668e182b2ce73c604bbb
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.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/0day-ci/linux/commit/13f6b2858e03cfb93f130e94a11c8e33b2402464
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Viresh-Kumar/cpufreq_cooling-Get-effective-CPU-utilization-from-scheduler/20201023-182231
git checkout 13f6b2858e03cfb93f130e94a11c8e33b2402464
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

drivers/thermal/cpufreq_cooling.c: In function '__cpufreq_cooling_register':
>> drivers/thermal/cpufreq_cooling.c:468:18: warning: variable 'num_cpus' set but not used [-Wunused-but-set-variable]
468 | unsigned int i, num_cpus;
| ^~~~~~~~

vim +/num_cpus +468 drivers/thermal/cpufreq_cooling.c

023614183768a7 drivers/thermal/cpu_cooling.c Amit Daniel Kachhap 2012-08-16 444
023614183768a7 drivers/thermal/cpu_cooling.c Amit Daniel Kachhap 2012-08-16 445 /**
39d99cff76bf29 drivers/thermal/cpu_cooling.c Eduardo Valentin 2013-09-12 446 * __cpufreq_cooling_register - helper function to create cpufreq cooling device
39d99cff76bf29 drivers/thermal/cpu_cooling.c Eduardo Valentin 2013-09-12 447 * @np: a valid struct device_node to the cooling device device tree node
4d753aa7b6279e drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 448 * @policy: cpufreq policy
405fb8256226ad drivers/thermal/cpu_cooling.c Viresh Kumar 2014-12-04 449 * Normally this should be same as cpufreq policy->related_cpus.
a4e893e802e6a8 drivers/thermal/cpu_cooling.c Quentin Perret 2019-10-30 450 * @em: Energy Model of the cpufreq policy
12cb08ba50b73b drivers/thermal/cpu_cooling.c Eduardo Valentin 2013-04-17 451 *
12cb08ba50b73b drivers/thermal/cpu_cooling.c Eduardo Valentin 2013-04-17 452 * This interface function registers the cpufreq cooling device with the name
12cb08ba50b73b drivers/thermal/cpu_cooling.c Eduardo Valentin 2013-04-17 453 * "thermal-cpufreq-%x". This api can support multiple instances of cpufreq
39d99cff76bf29 drivers/thermal/cpu_cooling.c Eduardo Valentin 2013-09-12 454 * cooling devices. It also gives the opportunity to link the cooling device
39d99cff76bf29 drivers/thermal/cpu_cooling.c Eduardo Valentin 2013-09-12 455 * with a device tree node, in order to bind it via the thermal DT code.
12cb08ba50b73b drivers/thermal/cpu_cooling.c Eduardo Valentin 2013-04-17 456 *
12cb08ba50b73b drivers/thermal/cpu_cooling.c Eduardo Valentin 2013-04-17 457 * Return: a valid struct thermal_cooling_device pointer on success,
12cb08ba50b73b drivers/thermal/cpu_cooling.c Eduardo Valentin 2013-04-17 458 * on failure, it returns a corresponding ERR_PTR().
023614183768a7 drivers/thermal/cpu_cooling.c Amit Daniel Kachhap 2012-08-16 459 */
39d99cff76bf29 drivers/thermal/cpu_cooling.c Eduardo Valentin 2013-09-12 460 static struct thermal_cooling_device *
39d99cff76bf29 drivers/thermal/cpu_cooling.c Eduardo Valentin 2013-09-12 461 __cpufreq_cooling_register(struct device_node *np,
a4e893e802e6a8 drivers/thermal/cpu_cooling.c Quentin Perret 2019-10-30 462 struct cpufreq_policy *policy,
a4e893e802e6a8 drivers/thermal/cpu_cooling.c Quentin Perret 2019-10-30 463 struct em_perf_domain *em)
023614183768a7 drivers/thermal/cpu_cooling.c Amit Daniel Kachhap 2012-08-16 464 {
04bdbdf93cedc7 drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 465 struct thermal_cooling_device *cdev;
1dea432a671aa8 drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 466 struct cpufreq_cooling_device *cpufreq_cdev;
023614183768a7 drivers/thermal/cpu_cooling.c Amit Daniel Kachhap 2012-08-16 467 char dev_name[THERMAL_NAME_LENGTH];
a4e893e802e6a8 drivers/thermal/cpu_cooling.c Quentin Perret 2019-10-30 @468 unsigned int i, num_cpus;
5130802ddbb10a drivers/thermal/cpu_cooling.c Viresh Kumar 2019-07-23 469 struct device *dev;
405fb8256226ad drivers/thermal/cpu_cooling.c Viresh Kumar 2014-12-04 470 int ret;
a305a4387acb01 drivers/thermal/cpu_cooling.c Brendan Jackman 2016-08-17 471 struct thermal_cooling_device_ops *cooling_ops;
5130802ddbb10a drivers/thermal/cpu_cooling.c Viresh Kumar 2019-07-23 472
5130802ddbb10a drivers/thermal/cpu_cooling.c Viresh Kumar 2019-07-23 473 dev = get_cpu_device(policy->cpu);
5130802ddbb10a drivers/thermal/cpu_cooling.c Viresh Kumar 2019-07-23 474 if (unlikely(!dev)) {
5130802ddbb10a drivers/thermal/cpu_cooling.c Viresh Kumar 2019-07-23 475 pr_warn("No cpu device for cpu %d\n", policy->cpu);
5130802ddbb10a drivers/thermal/cpu_cooling.c Viresh Kumar 2019-07-23 476 return ERR_PTR(-ENODEV);
5130802ddbb10a drivers/thermal/cpu_cooling.c Viresh Kumar 2019-07-23 477 }
5130802ddbb10a drivers/thermal/cpu_cooling.c Viresh Kumar 2019-07-23 478
023614183768a7 drivers/thermal/cpu_cooling.c Amit Daniel Kachhap 2012-08-16 479
4d753aa7b6279e drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 480 if (IS_ERR_OR_NULL(policy)) {
b2fd708ffa7f43 drivers/thermal/cpu_cooling.c Arvind Yadav 2017-10-24 481 pr_err("%s: cpufreq policy isn't valid: %p\n", __func__, policy);
4d753aa7b6279e drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 482 return ERR_PTR(-EINVAL);
f8bfc116cacbdf drivers/thermal/cpu_cooling.c Viresh Kumar 2016-06-03 483 }
f8bfc116cacbdf drivers/thermal/cpu_cooling.c Viresh Kumar 2016-06-03 484
55d852931319d2 drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 485 i = cpufreq_table_count_valid_entries(policy);
55d852931319d2 drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 486 if (!i) {
55d852931319d2 drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 487 pr_debug("%s: CPUFreq table not found or has no valid entries\n",
55d852931319d2 drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 488 __func__);
4d753aa7b6279e drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 489 return ERR_PTR(-ENODEV);
023614183768a7 drivers/thermal/cpu_cooling.c Amit Daniel Kachhap 2012-08-16 490 }
0f1be51c358f74 drivers/thermal/cpu_cooling.c Eduardo Valentin 2014-12-04 491
1dea432a671aa8 drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 492 cpufreq_cdev = kzalloc(sizeof(*cpufreq_cdev), GFP_KERNEL);
4d753aa7b6279e drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 493 if (!cpufreq_cdev)
4d753aa7b6279e drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 494 return ERR_PTR(-ENOMEM);
023614183768a7 drivers/thermal/cpu_cooling.c Amit Daniel Kachhap 2012-08-16 495
b12b6519496bb0 drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 496 cpufreq_cdev->policy = policy;
4d753aa7b6279e drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 497 num_cpus = cpumask_weight(policy->related_cpus);
c36cf07176316f drivers/thermal/cpu_cooling.c Javi Merino 2015-02-26 498
55d852931319d2 drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 499 /* max_level is an index, not a counter */
55d852931319d2 drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 500 cpufreq_cdev->max_level = i - 1;
dcc6c7fdef9e70 drivers/thermal/cpu_cooling.c Viresh Kumar 2014-12-04 501
ae606089621ef0 drivers/thermal/cpu_cooling.c Matthew Wilcox 2016-12-21 502 ret = ida_simple_get(&cpufreq_ida, 0, 0, GFP_KERNEL);
ae606089621ef0 drivers/thermal/cpu_cooling.c Matthew Wilcox 2016-12-21 503 if (ret < 0) {
04bdbdf93cedc7 drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 504 cdev = ERR_PTR(ret);
13f6b2858e03cf drivers/thermal/cpufreq_cooling.c Viresh Kumar 2020-10-23 505 goto free_cdev;
023614183768a7 drivers/thermal/cpu_cooling.c Amit Daniel Kachhap 2012-08-16 506 }
1dea432a671aa8 drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 507 cpufreq_cdev->id = ret;
023614183768a7 drivers/thermal/cpu_cooling.c Amit Daniel Kachhap 2012-08-16 508
349d39dc57396e drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 509 snprintf(dev_name, sizeof(dev_name), "thermal-cpufreq-%d",
349d39dc57396e drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 510 cpufreq_cdev->id);
349d39dc57396e drivers/thermal/cpu_cooling.c Viresh Kumar 2017-04-25 511
5a4e5b78956a57 drivers/thermal/cpu_cooling.c Quentin Perret 2019-10-30 512 cooling_ops = &cpufreq_cooling_ops;
5a4e5b78956a57 drivers/thermal/cpu_cooling.c Quentin Perret 2019-10-30 513

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

Attachment: .config.gz
Description: application/gzip