From: kbuild test robot <lkp@intel.com>
To: Waiman Long <longman@redhat.com>
Cc: kbuild-all@01.org, Tejun Heo <tj@kernel.org>,
Li Zefan <lizefan@huawei.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
cgroups@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, kernel-team@fb.com, pjt@google.com,
luto@amacapital.net, Mike Galbraith <efault@gmx.de>,
torvalds@linux-foundation.org, Roman Gushchin <guro@fb.com>,
Juri Lelli <juri.lelli@redhat.com>,
Patrick Bellasi <patrick.bellasi@arm.com>,
Waiman Long <longman@redhat.com>
Subject: Re: [PATCH v13 04/11] cpuset: Add new v2 cpuset.sched.partition flag
Date: Sat, 13 Oct 2018 22:10:07 +0800 [thread overview]
Message-ID: <201810132244.kSlPPHgH%fengguang.wu@intel.com> (raw)
In-Reply-To: <1539366951-8498-5-git-send-email-longman@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 3911 bytes --]
Hi Waiman,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on cgroup/for-next]
[also build test ERROR on v4.19-rc7 next-20181012]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Waiman-Long/cpuset-Enable-cpuset-controller-in-default-hierarchy/20181013-213352
base: https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-next
config: i386-randconfig-x078-201840 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
kernel/cgroup/cpuset.c: In function 'update_cpumask':
>> kernel/cgroup/cpuset.c:1293:15: error: assignment to expression with array type
tmp.addmask = trialcs->subparts_cpus;
^
kernel/cgroup/cpuset.c:1294:15: error: assignment to expression with array type
tmp.delmask = trialcs->effective_cpus;
^
kernel/cgroup/cpuset.c:1295:15: error: assignment to expression with array type
tmp.new_cpus = trialcs->cpus_allowed;
^
vim +1293 kernel/cgroup/cpuset.c
1247
1248 /**
1249 * update_cpumask - update the cpus_allowed mask of a cpuset and all tasks in it
1250 * @cs: the cpuset to consider
1251 * @trialcs: trial cpuset
1252 * @buf: buffer of cpu numbers written to this cpuset
1253 */
1254 static int update_cpumask(struct cpuset *cs, struct cpuset *trialcs,
1255 const char *buf)
1256 {
1257 int retval;
1258 struct tmpmasks tmp;
1259
1260 /* top_cpuset.cpus_allowed tracks cpu_online_mask; it's read-only */
1261 if (cs == &top_cpuset)
1262 return -EACCES;
1263
1264 /*
1265 * An empty cpus_allowed is ok only if the cpuset has no tasks.
1266 * Since cpulist_parse() fails on an empty mask, we special case
1267 * that parsing. The validate_change() call ensures that cpusets
1268 * with tasks have cpus.
1269 */
1270 if (!*buf) {
1271 cpumask_clear(trialcs->cpus_allowed);
1272 } else {
1273 retval = cpulist_parse(buf, trialcs->cpus_allowed);
1274 if (retval < 0)
1275 return retval;
1276
1277 if (!cpumask_subset(trialcs->cpus_allowed,
1278 top_cpuset.cpus_allowed))
1279 return -EINVAL;
1280 }
1281
1282 /* Nothing to do if the cpus didn't change */
1283 if (cpumask_equal(cs->cpus_allowed, trialcs->cpus_allowed))
1284 return 0;
1285
1286 retval = validate_change(cs, trialcs);
1287 if (retval < 0)
1288 return retval;
1289
1290 /*
1291 * Use the cpumasks in trialcs for tmpmasks.
1292 */
> 1293 tmp.addmask = trialcs->subparts_cpus;
1294 tmp.delmask = trialcs->effective_cpus;
1295 tmp.new_cpus = trialcs->cpus_allowed;
1296
1297 if (cs->partition_root_state) {
1298 /* Cpumask of a partition root cannot be empty */
1299 if (cpumask_empty(trialcs->cpus_allowed))
1300 return -EINVAL;
1301 if (update_parent_subparts_cpumask(cs, partcmd_update,
1302 trialcs->cpus_allowed, &tmp) < 0)
1303 return -EINVAL;
1304 }
1305
1306 spin_lock_irq(&callback_lock);
1307 cpumask_copy(cs->cpus_allowed, trialcs->cpus_allowed);
1308
1309 /*
1310 * Make sure that subparts_cpus is a subset of cpus_allowed.
1311 */
1312 if (cs->nr_subparts_cpus) {
1313 cpumask_andnot(cs->subparts_cpus, cs->subparts_cpus,
1314 cs->cpus_allowed);
1315 cs->nr_subparts_cpus = cpumask_weight(cs->subparts_cpus);
1316 }
1317 spin_unlock_irq(&callback_lock);
1318
1319 update_cpumasks_hier(cs, &tmp);
1320 return 0;
1321 }
1322
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 28944 bytes --]
next prev parent reply other threads:[~2018-10-13 14:10 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-12 17:55 [PATCH v13 00/11] cpuset: Enable cpuset controller in default hierarchy Waiman Long
2018-10-12 17:55 ` [PATCH v13 01/11] " Waiman Long
2018-10-15 18:31 ` Tom Hromatka
2018-10-15 18:41 ` Waiman Long
2018-10-15 19:10 ` Tom Hromatka
2018-10-12 17:55 ` [PATCH v13 02/11] cpuset: Define data structures to support scheduling partition Waiman Long
2018-10-12 17:55 ` [PATCH v13 03/11] cpuset: Simply allocation and freeing of cpumasks Waiman Long
2018-10-15 18:35 ` Tom Hromatka
2018-10-15 18:35 ` Tom Hromatka
2018-10-15 18:43 ` Waiman Long
2018-10-12 17:55 ` [PATCH v13 04/11] cpuset: Add new v2 cpuset.sched.partition flag Waiman Long
2018-10-13 14:10 ` kbuild test robot [this message]
2018-10-12 17:55 ` [PATCH v13 05/11] cpuset: Add an error state to cpuset.sched.partition Waiman Long
2018-10-12 17:55 ` [PATCH v13 06/11] cpuset: Track cpusets that use parent's effective_cpus Waiman Long
2018-10-12 17:55 ` [PATCH v13 07/11] cpuset: Make CPU hotplug work with partition Waiman Long
2018-10-12 17:55 ` [PATCH v13 08/11] cpuset: Make generate_sched_domains() " Waiman Long
2018-10-12 17:55 ` [PATCH v13 09/11] cpuset: Expose cpus.effective and mems.effective on cgroup v2 root Waiman Long
2018-10-12 17:55 ` [PATCH v13 10/11] cpuset: Add documentation about the new "cpuset.sched.partition" flag Waiman Long
2018-10-12 17:55 ` [PATCH v13 11/11] cpuset: Expose cpuset.cpus.subpartitions with cgroup_debug Waiman Long
2018-10-15 16:35 ` [PATCH v13 00/11] cpuset: Enable cpuset controller in default hierarchy Tejun Heo
2018-10-15 17:04 ` Waiman Long
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=201810132244.kSlPPHgH%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=cgroups@vger.kernel.org \
--cc=efault@gmx.de \
--cc=guro@fb.com \
--cc=hannes@cmpxchg.org \
--cc=juri.lelli@redhat.com \
--cc=kbuild-all@01.org \
--cc=kernel-team@fb.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=longman@redhat.com \
--cc=luto@amacapital.net \
--cc=mingo@redhat.com \
--cc=patrick.bellasi@arm.com \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=tj@kernel.org \
--cc=torvalds@linux-foundation.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.