All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.