tree:
https://github.com/alibaba/cloud-kernel.git linux-next
head: 4da723592714ee2993664252216d9d5b5a3df3eb
commit: 61e5885959be9af0b6942ec2a3ea0e7ccc48bf05 [11098/11535] alinux: sched: Introduce
per-cgroup idle accounting
config: x86_64-rhel (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
git checkout 61e5885959be9af0b6942ec2a3ea0e7ccc48bf05
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
kernel/cgroup/cpuset.c: In function 'cpuset_cancel_attach':
kernel/cgroup/cpuset.c:1515:17: warning: variable 'cs' set but not used
[-Wunused-but-set-variable]
1515 | struct cpuset *cs;
| ^~
kernel/cgroup/cpuset.c: In function 'update_cpumasks_hier':
> kernel/cgroup/cpuset.c:963:1: warning: the frame size of 3088
bytes is larger than 2048 bytes [-Wframe-larger-than=]
963 | }
| ^
kernel/cgroup/cpuset.c:2313: warning: Function parameter or member 'work' not
described in 'cpuset_hotplug_workfn'
kernel/cgroup/cpuset.c:2643: warning: Function parameter or member 'rotor' not
described in 'cpuset_spread_node'
vim +963 kernel/cgroup/cpuset.c
0b2f630a28d53b kernel/cpuset.c Miao Xie 2008-07-25 883
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 884 /*
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 885 *
update_cpumasks_hier - Update effective cpumasks and tasks in the subtree
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 886 * @cs: the cpuset
to consider
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 887 * @new_cpus: temp
variable for calculating new effective_cpus
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 888 *
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 889 * When congifured
cpumask is changed, the effective cpumasks of this cpuset
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 890 * and all its
descendants need to be updated.
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 891 *
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 892 * On legacy
hierachy, effective_cpus will be the same with cpu_allowed.
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 893 *
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 894 * Called with
cpuset_mutex held
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 895 */
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 896 static void
update_cpumasks_hier(struct cpuset *cs, struct cpumask *new_cpus)
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 897 {
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 898 struct cpuset
*cp;
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 899 struct cpumask
added, deleted, old_cpus;
492eb21b98f88e kernel/cpuset.c Tejun Heo 2013-08-08 900 struct
cgroup_subsys_state *pos_css;
8b5f1c52dcd1ac kernel/cpuset.c Li Zefan 2014-07-09 901 bool
need_rebuild_sched_domains = false;
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 902
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 903 rcu_read_lock();
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 904
cpuset_for_each_descendant_pre(cp, pos_css, cs) {
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 905 struct cpuset
*parent = parent_cs(cp);
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 906
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 907
cpumask_and(new_cpus, cp->cpus_allowed, parent->effective_cpus);
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 908
554b0d1c845e42 kernel/cpuset.c Li Zefan 2014-07-09 909 /*
554b0d1c845e42 kernel/cpuset.c Li Zefan 2014-07-09 910 * If it becomes
empty, inherit the effective mask of the
554b0d1c845e42 kernel/cpuset.c Li Zefan 2014-07-09 911 * parent, which
is guaranteed to have some CPUs.
554b0d1c845e42 kernel/cpuset.c Li Zefan 2014-07-09 912 */
b8d1b8ee93df8f kernel/cgroup/cpuset.c Waiman Long 2017-08-17 913 if
(is_in_v2_mode() && cpumask_empty(new_cpus))
554b0d1c845e42 kernel/cpuset.c Li Zefan 2014-07-09 914
cpumask_copy(new_cpus, parent->effective_cpus);
554b0d1c845e42 kernel/cpuset.c Li Zefan 2014-07-09 915
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 916 if
(cpumask_empty(cp->effective_cpus))
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 917
cpumask_copy(&old_cpus, parent->effective_cpus);
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 918 else
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 919
cpumask_copy(&old_cpus, cp->effective_cpus);
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 920
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 921 /* Skip the
whole subtree if the cpumask remains the same. */
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 922 if
(cpumask_equal(new_cpus, cp->effective_cpus)) {
492eb21b98f88e kernel/cpuset.c Tejun Heo 2013-08-08 923 pos_css =
css_rightmost_descendant(pos_css);
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 924 continue;
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 925 }
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 926
ec903c0c858e49 kernel/cpuset.c Tejun Heo 2014-05-13 927 if
(!css_tryget_online(&cp->css))
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 928 continue;
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 929
rcu_read_unlock();
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 930
8447a0fee97443 kernel/cpuset.c Vladimir Davydov 2014-10-20 931
spin_lock_irq(&callback_lock);
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 932
cpumask_copy(cp->effective_cpus, new_cpus);
8447a0fee97443 kernel/cpuset.c Vladimir Davydov 2014-10-20 933
spin_unlock_irq(&callback_lock);
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 934
b8d1b8ee93df8f kernel/cgroup/cpuset.c Waiman Long 2017-08-17 935
WARN_ON(!is_in_v2_mode() &&
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 936
!cpumask_equal(cp->cpus_allowed, cp->effective_cpus));
734d45130cb4f6 kernel/cpuset.c Li Zefan 2014-07-09 937
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 938 /* add = new -
old = new & (~old) */
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 939
cpumask_andnot(&added, new_cpus, &old_cpus);
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 940
cpuacct_cpuset_changed(cs->css.cgroup, NULL, &added);
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 941
d66393e54e0a9d kernel/cpuset.c Tejun Heo 2014-02-13 942
update_tasks_cpumask(cp);
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 943
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 944 /* deleted = old
- new = old & (~new) */
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 945
cpumask_andnot(&deleted, &old_cpus, new_cpus);
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 946
cpuacct_cpuset_changed(cs->css.cgroup, &deleted, NULL);
61e5885959be9a kernel/cgroup/cpuset.c Yihao Wu 2020-03-10 947
8b5f1c52dcd1ac kernel/cpuset.c Li Zefan 2014-07-09 948 /*
8b5f1c52dcd1ac kernel/cpuset.c Li Zefan 2014-07-09 949 * If the
effective cpumask of any non-empty cpuset is changed,
8b5f1c52dcd1ac kernel/cpuset.c Li Zefan 2014-07-09 950 * we need to
rebuild sched domains.
8b5f1c52dcd1ac kernel/cpuset.c Li Zefan 2014-07-09 951 */
8b5f1c52dcd1ac kernel/cpuset.c Li Zefan 2014-07-09 952 if
(!cpumask_empty(cp->cpus_allowed) &&
8b5f1c52dcd1ac kernel/cpuset.c Li Zefan 2014-07-09 953
is_sched_load_balance(cp))
8b5f1c52dcd1ac kernel/cpuset.c Li Zefan 2014-07-09 954
need_rebuild_sched_domains = true;
8b5f1c52dcd1ac kernel/cpuset.c Li Zefan 2014-07-09 955
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 956
rcu_read_lock();
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 957
css_put(&cp->css);
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 958 }
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 959
rcu_read_unlock();
8b5f1c52dcd1ac kernel/cpuset.c Li Zefan 2014-07-09 960
8b5f1c52dcd1ac kernel/cpuset.c Li Zefan 2014-07-09 961 if
(need_rebuild_sched_domains)
8b5f1c52dcd1ac kernel/cpuset.c Li Zefan 2014-07-09 962
rebuild_sched_domains_locked();
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 @963 }
5c5cc62321d9df kernel/cpuset.c Li Zefan 2013-06-09 964
:::::: The code at line 963 was first introduced by commit
:::::: 5c5cc62321d9df7a9a608346fc649c4528380c8f cpuset: allow to keep tasks in empty
cpusets
:::::: TO: Li Zefan <lizefan(a)huawei.com>
:::::: CC: Tejun Heo <tj(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org