Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753378AbdHXP2B convert rfc822-to-8bit (ORCPT ); Thu, 24 Aug 2017 11:28:01 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60728 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751168AbdHXP2A (ORCPT ); Thu, 24 Aug 2017 11:28:00 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com C224BC047B6C Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=longman@redhat.com Subject: Re: [PATCH] cpuset: Allow cpuset controller in default hierarchy To: Tejun Heo Cc: Li Zefan , Johannes Weiner , cgroups@vger.kernel.org, linux-kernel@vger.kernel.org References: <1503585611-13496-1-git-send-email-longman@redhat.com> <20170824144322.GP491396@devbig577.frc2.facebook.com> <863b01d0-e724-dab6-258e-d5980f985938@redhat.com> <20170824150222.GQ491396@devbig577.frc2.facebook.com> From: Waiman Long Organization: Red Hat Message-ID: <3d276b09-97fe-9908-e9ba-3a250a77362e@redhat.com> Date: Thu, 24 Aug 2017 11:27:58 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <20170824150222.GQ491396@devbig577.frc2.facebook.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Content-Language: en-US X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Thu, 24 Aug 2017 15:28:00 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1830 Lines: 38 On 08/24/2017 11:02 AM, Tejun Heo wrote: > Hello, > > On Thu, Aug 24, 2017 at 10:56:21AM -0400, Waiman Long wrote: >> The main reason for sending out this patch is to figure out what exactly >> is in your mind before enabling cpuset in v2. >> >> From my point of view, the exclusive setting makes cpuset behave more >> like a resource domain that a resource allocated to one cgroup won't be >> available for another cgroup. So we can argue it both ways whether it >> violates the basic hierarchy rules or not. > It's not even siblings interfering with other siblings. The resource > knobs belong to the parent, right? So, the only thing it's doing is > restricting the parent itself from creating certain configurations, > which can be argued to be a feature but it's a really weird policy > enforcement implemented in kernel. Yes, it is an unusual feature. It is basically an enforcement in kernel of what the user space can perfectly do by itself without the involvement by the kernel. Perhaps, we should leave it out from v2 for now. We can always add it back when the developers ask for it, but deleting feature once it is in is a no-no. >> I will be in the Plumbers Conference next month and we can talk more >> about this. My goal is to make cgroup v2 ready for prime time hopefully >> by the end of the year. > Sure, the only thing I think we need for cpuset is cutting down the > interface to the minimal set which provides all the features to > userspace. Besides *cpus and *mems, the rests are just flags that can be turned on or off. Maybe we could use a single cpuset.flags file to replace all those files and use + and - prefix to turn on and off flags like subtree_control. That should reduce the interface bloat which can be a concern if a large number of controllers are enabled in a cgroup. Cheers, Longman