From: Zefan Li <lizefan@huawei.com>
To: "Chen, Yu C" <yu.c.chen@intel.com>,
"cgroups@vger.kernel.org" <cgroups@vger.kernel.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Vlastimil Babka <vbabka@suse.cz>, Rik van Riel <riel@redhat.com>,
Joonsoo Kim <iamjoonsoo.kim@lge.com>,
David Rientjes <rientjes@google.com>,
Vishnu Pratap Singh <vishnu.ps@samsung.com>,
Pintu Kumar <pintu.k@samsung.com>,
Michal Nazarewicz <mina86@mina86.com>,
Mel Gorman <mgorman@suse.de>,
"Gortmaker, Paul (Wind River)" <paul.gortmaker@windriver.com>,
Peter Zijlstra <peterz@infradead.org>,
Tim Chen <tim.c.chen@linux.intel.com>,
Hugh Dickins <hughd@google.com>, Tejun Heo <tj@kernel.org>
Subject: Re: [PATCH] cpuset: fix cpus_allowed mask for offline/online CPUs
Date: Mon, 4 Jan 2016 10:20:35 +0800 [thread overview]
Message-ID: <5689D6F3.2090007@huawei.com> (raw)
In-Reply-To: <36DF59CE26D8EE47B0655C516E9CE640286AC772@shsmsx102.ccr.corp.intel.com>
>> On 2016/1/1 20:09, Chen Yu wrote:
>>> Commit be4c9dd7aee5 ("cpuset: enable onlined cpu/node in effective
>>> masks") leverages cpuset's cpus_allowed and its parent's
>>> effective_cpus to calculate the new_cpus by:
>>>
>>> cpumask_and(&new_cpus, cs->cpus_allowed,
>>> parent_cs(cs)->effective_cpus);
>>>
>>> However cpus_allowed will also be updated after the CPU is offline, in
>>> hotplug_update_tasks_legacy, so when the CPU is online again, it will
>>> use the old cpus_allowed mask to calculate the new_cpus, thus new_cpus
>>> will get incorrect value after each round of offline/online.
>>>
>>> This problem is found on ubuntu 15.10 with cpuset mounted:
>>>
>>> 1. echo 0 > /sys/devices/system/cpu/cpu2/online
>>> 2. echo 1 > /sys/devices/system/cpu/cpu2/online
>>> 3. cat /sys/fs/cgroup/cpuset/cpuset.cpus
>>> 0-3
>>> 4. cat /sys/fs/cgroup/cpuset/user.slice/cpuset.cpus
>>> 0-1,3
>>> 5. taskset -c 2 ls
>>> taskset: failed to set pid 0's affinity: Invalid argument
>>>
>>
>> This is the expected behavior...In legacy hierachy onlining an offlined cpu
>> won't restore cpuset configurations automatically.
> [Yu] Ah, I see, we were just a little confused with it before.
> So if we want to online an offlined cpu in legacy hierarchy, we
> should not only echo 1 to 'online' sysfs, but also restore the mask manually?
Right. You have to take care of this by yourself.
> It seems that we should not rely on /sys/devices/system/cpu/cpu2/online,
> if cpuset has been mounted.
next prev parent reply other threads:[~2016-01-04 2:20 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-01 12:09 [PATCH] cpuset: fix cpus_allowed mask for offline/online CPUs Chen Yu
2016-01-01 12:09 ` Chen Yu
2016-01-01 12:08 ` Chen, Yu C
[not found] ` <2f805346f87680dddfa9253dc9031db3b6ead8ad.1451648318.git.yu.c.chen-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-01-03 13:59 ` Tejun Heo
2016-01-03 13:59 ` Tejun Heo
2016-01-04 1:52 ` Zefan Li
2016-01-04 1:52 ` Zefan Li
2016-01-04 2:13 ` Chen, Yu C
2016-01-04 2:20 ` Zefan Li [this message]
-- strict thread matches above, loose matches on Subject: below --
2015-12-27 18:58 Chen Yu
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=5689D6F3.2090007@huawei.com \
--to=lizefan@huawei.com \
--cc=cgroups@vger.kernel.org \
--cc=hughd@google.com \
--cc=iamjoonsoo.kim@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mina86@mina86.com \
--cc=paul.gortmaker@windriver.com \
--cc=peterz@infradead.org \
--cc=pintu.k@samsung.com \
--cc=riel@redhat.com \
--cc=rientjes@google.com \
--cc=tim.c.chen@linux.intel.com \
--cc=tj@kernel.org \
--cc=vbabka@suse.cz \
--cc=vishnu.ps@samsung.com \
--cc=yu.c.chen@intel.com \
/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.