From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751500AbdGQOst (ORCPT ); Mon, 17 Jul 2017 10:48:49 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45108 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751325AbdGQOsr (ORCPT ); Mon, 17 Jul 2017 10:48:47 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com AC0647F3F3 Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=longman@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com AC0647F3F3 Subject: Re: [PATCHSET for-4.13] cgroup: implement cgroup2 thread mode, v3 To: Tejun Heo , lizefan@huawei.com, hannes@cmpxchg.org, peterz@infradead.org, mingo@redhat.com Cc: cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com, pjt@google.com, luto@amacapital.net, efault@gmx.de, torvalds@linux-foundation.org, guro@fb.com References: <20170717020721.3612468-1-tj@kernel.org> From: Waiman Long Organization: Red Hat Message-ID: Date: Mon, 17 Jul 2017 10:48:44 -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: <20170717020721.3612468-1-tj@kernel.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 17 Jul 2017 14:48:47 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 07/16/2017 10:07 PM, Tejun Heo wrote: > Hello, > > This is v3 of cgroup2 thread mode patchset. The changes from v2[L] > are > > * Switched to marking each cgroup threaded instead of doing it > per-subtree as suggested by PeterZ. This allows more flexibility > and removes certain interface quirks. > > * Dropped RFC tag and excluded cpu controller patches from this > patchset as threaded mode behaviors can easily be verified with the > pid controller. Will follow up with cpu controller patchset later. > > It is largely based on the discussions that we had at the plumbers > last year. Here's the rough outline. > > * Thread mode is explicitly enabled on a cgroup by writing "threaded" > into "cgroup.type" file. The cgroup shouldn't have any processes or > child cgroups. A threaded cgroup joins the the parent's resource > domain and becomes a part of the threaded subtree anchored at the > nearest domain ancestor, which is called the threaded domain cgroup > of the subtree. > > * Threads can be put anywhere in a threaded subtree by writing TIDs > into "cgroup.threads" file. Process granularity and > no-internal-process constraint don't apply in a threaded subtree. > > * To be used in a threaded subtree, controllers should explicitly > declare thread mode support and should be able to handle internal > competition in some way. > > * The threaded domain cgroup of a threaded subtree serves as the > resource domain for the whole subtree. This is where all the > controllers are guaranteed to have a common ground and resource > consumptions in the threaded subtree which aren't tied to a specific > thread are charged. Non-threaded controllers never see beyond > thread root and can assume that all controllers will follow the same > rules upto that point. > > * Unlike other cgroups, the system root cgroup can serve as parent to > domain child cgroups and threaded domains to threaded subtrees. > > This allows threaded controllers to implement thread granular resource > control without getting in the way of system level resource > partitioning. > > For more details on the interface and behavior, please refer to 0005. > > This patchset contains the following six patches. > > 0001-cgroup-reorganize-cgroup.procs-task-write-path.patch > 0002-cgroup-add-flags-to-css_task_iter_start-and-implemen.patch > 0003-cgroup-introduce-cgroup-dom_cgrp-and-threaded-css_se.patch > 0004-cgroup-implement-CSS_TASK_ITER_THREADED.patch > 0005-cgroup-implement-cgroup-v2-thread-support.patch > 0006-cgroup-update-debug-controller-to-print-out-thread-m.patch > > 0001-0005 implement cgroup2 thread mode. 0006 enables debug > controller on it. > > The patchset is based on the current cgroup/for-4.14 27f26753f8c0 > ("cgroup: replace css_set walking populated test with testing > cgrp->nr_populated_csets") and also available in the following git > branch. > > git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-cgroup2-threads-v3 Your new patches don't seem to be pushed to your git tree yet. I couldn't find them there. Cheers, Longman