Re: [PATCH 08/11] cpuset: separate configured masks and efffectivemasks

From: Tejun Heo
Date: Fri Aug 23 2013 - 11:33:59 EST


Hello, Li.

On Fri, Aug 23, 2013 at 03:46:47PM +0800, Li Zefan wrote:
> On 2013/8/21 22:08, Tejun Heo wrote:
> > On Wed, Aug 21, 2013 at 06:00:42PM +0800, Li Zefan wrote:
> >> @@ -2261,7 +2271,8 @@ static void cpuset_hotplug_workfn(struct work_struct *work)
> >> /* synchronize mems_allowed to N_MEMORY */
> >> if (mems_updated) {
> >> mutex_lock(&callback_mutex);
> >> - top_cpuset.mems_allowed = new_mems;
> >> + if (!sane)
> >> + top_cpuset.mems_allowed = new_mems;
> >
> > Can you please further explain how the top cgroup behaves?
> >
>
> top_cpuset.cpus_allowed will always be cpu_active_mask if sane_behavior
> is not set, otherwise it will always be cpu_possible_mask. While
> top_cpuset.effective_cpus will always be cpu_active_mask in either
> case.

Just in case it wasn't clear, it'd be great if you can also explain
what's going on w.r.t. sane_behavior in the comments and patch
description. Having dual modes of operation can always be quite
confusing so I think some documentation could be very beneficial.

Thanks!

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/