[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAC4Lta2AS6M5upg8n9Qu5+1pqCMF3j8_cYuLAS1DH9C_BQP0PA@mail.gmail.com>
Date: Wed, 8 Oct 2014 20:24:26 +0530
From: Raghavendra KT <raghavendra.kt@...ux.vnet.ibm.com>
To: Preeti U Murthy <preeti@...ux.vnet.ibm.com>
Cc: svaidy@...ux.vnet.ibm.com, Peter Zijlstra <peterz@...radead.org>,
rjw@...ysocki.net, lizefan@...wei.com,
Anton Blanchard <anton@...ba.org>, Tejun Heo <tj@...nel.org>,
Paul McKenney <paulmck@...ux.vnet.ibm.com>,
Ingo Molnar <mingo@...nel.org>, cgroups@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] cpusets: Make cpus_allowed and mems_allowed masks hotplug invariant
On Wed, Oct 8, 2014 at 12:37 PM, Preeti U Murthy
<preeti@...ux.vnet.ibm.com> wrote:
> There are two masks associated with cpusets. The cpus/mems_allowed
> and effective_cpus/mems. On the legacy hierarchy both these masks
> are consistent with each other. This is the intersection of their
> value and the currently active cpus. This means that we destroy the
> original values set in these masks on each cpu/mem hot unplug operation.
> As a consequence when we hot plug back the cpus/mems, the tasks
> no longer run on them and performance degrades, inspite of having
> resources to run on.
>
> This effect is not seen in the default hierarchy since the
> allowed and effective masks are distinctly maintained.
> allowed masks are never touched once configured and effective masks
> alone are hotplug variant.
>
> This patch replicates the above design even for the legacy hierarchy,
> so that:
>
> 1. Tasks always run on the cpus/memory nodes that they are allowed to run on
> as long as they are online. The allowed masks are hotplug invariant.
>
> 2. When all cpus/memory nodes in a cpuset are hot unplugged out, the tasks
> are moved to their nearest ancestor which has resources to run on.
Hi Preeti,
I may be missing some thing here could you please explain when do we get
tasks move out of a cpuset after this patch and why it is even necessary?
IIUC, with default hierarchy we should never hit a case where we have empty
effective cpuset and hence remove_tasks_in_empty_cpuset should never happen. no?
if my assumption is correct then we should remove
remove_tasks_in_empty_cpuset itself...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists