Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753210AbbDMIZ4 (ORCPT ); Mon, 13 Apr 2015 04:25:56 -0400 Received: from e38.co.us.ibm.com ([32.97.110.159]:42406 "EHLO e38.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752854AbbDMIZy (ORCPT ); Mon, 13 Apr 2015 04:25:54 -0400 Message-ID: <552B7D83.2030509@linux.vnet.ibm.com> Date: Mon, 13 Apr 2015 13:55:39 +0530 From: Preeti U Murthy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Peter Zijlstra CC: tj@kernel.org, svaidy@linux.vnet.ibm.com, nacc@linux.vnet.ibm.com, rjw@rjwysocki.net, linux-kernel@vger.kernel.org, lizefan@huawei.com, anton@samba.org, bharata@linux.vnet.ibm.com, cgroups@vger.kernel.org, paulmck@linux.vnet.ibm.com, mingo@kernel.org, serge@hallyn.com Subject: Re: [PATCH V2] cpuset: Add knob to make allowed masks hotplug invariant on legacy hierarchy References: <20150410141118.11284.36206.stgit@preeti.in.ibm.com> <20150411083537.GR27490@worktop.programming.kicks-ass.net> <20150413070117.GX24151@twins.programming.kicks-ass.net> In-Reply-To: <20150413070117.GX24151@twins.programming.kicks-ass.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15041308-0029-0000-0000-00000910E741 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2689 Lines: 58 On 04/13/2015 12:31 PM, Peter Zijlstra wrote: > On Sat, Apr 11, 2015 at 10:35:37AM +0200, Peter Zijlstra wrote: >> On Fri, Apr 10, 2015 at 07:41:52PM +0530, Preeti U Murthy wrote: >>> The cpus_allowed and mems_allowed masks of a cpuset get overwritten >>> after each hotplug operation on the legacy hierarchy of cgroups so as to >>> remain in sync with the online mask. But there are use cases which >>> expect user configured masks to remain unchanged. >>> >>> For instance, when hotplugged out CPUs are brought back online, they >>> remain idle with none of the existing tasks allowed to run on them since >>> the cpus_allowed mask was overwritten to not include them when they were >>> offlined. >>> >>> We cannot change the legacy hierarchy design now to keep the allowed >>> masks hotplug invariant since it is a user visible change. It was >>> suggested instead to add a knob in the root cpuset directory which >>> allows the user to specify if he wants the user configured masks to be >>> hotplug invariant [1]. This knob will enforce the choice throughout the >>> hierarchy. If the knob is set, the allowed maks will not be varied on >>> hotplug. It is also to to be noted that this knob will appear in the >>> root cgroup mounted on the legacy hierarchy alone since the default >>> hierarchy does not overwrite the allowed masks anyway. >>> >>> Having said this, there are fair reasons to argue that the kernel is not >>> responsible for taking care of user configurations in the face of >>> hotplug. But one of the consequences of the current legacy hierarchy >>> design, is that CPUs are left out from being used at all on online >>> operations. The reason for this is not very obvious at first and several >>> users have raised the issue as a bug. Hence the patch was strongly >>> called for. >>> >>> Moreover the default hierarchy keeps the allowed masks hotplug invariant >>> too. So the patch is not bringing about a fundamental change in the >>> design of cgroups. >> >> What you've not explained is why you can use this knob but not use the >> other new mode? > > Urgh, it looks like the new mode is only available through the default > hierarchy (whatever that is). > > Would it not make sense to make that a mount option and limit the amount > of semantic variants of cpusets? Makes sense. I will send out the next version that enforces the desired behavior through a mount option. Thank you Regards Preeti U Murthy > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/