Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934731AbbLRCvv (ORCPT ); Thu, 17 Dec 2015 21:51:51 -0500 Received: from mgwkm04.jp.fujitsu.com ([202.219.69.171]:36901 "EHLO mgwkm04.jp.fujitsu.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932459AbbLRCvu (ORCPT ); Thu, 17 Dec 2015 21:51:50 -0500 X-SecurityPolicyCheck: OK by SHieldMailChecker v2.3.2 X-SHieldMailCheckerPolicyVersion: FJ-ISEC-20150223 X-SHieldMailCheckerMailID: 63c459816b964dc1a3626a377e827141 Subject: Re: [PATCH v2 7/7] Documentation: cgroup: add memory.swap.{current,max} description To: Vladimir Davydov , Andrew Morton References: Cc: Johannes Weiner , Michal Hocko , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org From: Kamezawa Hiroyuki Message-ID: <567374AB.3010101@jp.fujitsu.com> Date: Fri, 18 Dec 2015 11:51:23 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2819 Lines: 75 On 2015/12/17 21:30, Vladimir Davydov wrote: > The rationale of separate swap counter is given by Johannes Weiner. > > Signed-off-by: Vladimir Davydov > --- > Changes in v2: > - Add rationale of separate swap counter provided by Johannes. > > Documentation/cgroup.txt | 33 +++++++++++++++++++++++++++++++++ > 1 file changed, 33 insertions(+) > > diff --git a/Documentation/cgroup.txt b/Documentation/cgroup.txt > index 31d1f7bf12a1..f441564023e1 100644 > --- a/Documentation/cgroup.txt > +++ b/Documentation/cgroup.txt > @@ -819,6 +819,22 @@ PAGE_SIZE multiple when read back. > the cgroup. This may not exactly match the number of > processes killed but should generally be close. > > + memory.swap.current > + > + A read-only single value file which exists on non-root > + cgroups. > + > + The total amount of swap currently being used by the cgroup > + and its descendants. > + > + memory.swap.max > + > + A read-write single value file which exists on non-root > + cgroups. The default is "max". > + > + Swap usage hard limit. If a cgroup's swap usage reaches this > + limit, anonymous meomry of the cgroup will not be swapped out. > + > > 5-2-2. General Usage > > @@ -1291,3 +1307,20 @@ allocation from the slack available in other groups or the rest of the > system than killing the group. Otherwise, memory.max is there to > limit this type of spillover and ultimately contain buggy or even > malicious applications. > + > +The combined memory+swap accounting and limiting is replaced by real > +control over swap space. > + > +The main argument for a combined memory+swap facility in the original > +cgroup design was that global or parental pressure would always be > +able to swap all anonymous memory of a child group, regardless of the > +child's own (possibly untrusted) configuration. However, untrusted > +groups can sabotage swapping by other means - such as referencing its > +anonymous memory in a tight loop - and an admin can not assume full > +swappability when overcommitting untrusted jobs. > + > +For trusted jobs, on the other hand, a combined counter is not an > +intuitive userspace interface, and it flies in the face of the idea > +that cgroup controllers should account and limit specific physical > +resources. Swap space is a resource like all others in the system, > +and that's why unified hierarchy allows distributing it separately. > Could you give here a hint how to calculate amount of swapcache, counted both in memory.current and swap.current ? Thanks, -Kame -- 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/