From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 42581C433FE for ; Thu, 5 May 2022 12:13:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 921A76B0071; Thu, 5 May 2022 08:13:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8D0526B0073; Thu, 5 May 2022 08:13:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 770566B0074; Thu, 5 May 2022 08:13:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 68B856B0071 for ; Thu, 5 May 2022 08:13:32 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 2EE982EA9A for ; Thu, 5 May 2022 12:13:32 +0000 (UTC) X-FDA: 79431579864.17.D98D1BB Received: from mail-oa1-f97.google.com (mail-oa1-f97.google.com [209.85.160.97]) by imf12.hostedemail.com (Postfix) with ESMTP id E144140082 for ; Thu, 5 May 2022 12:13:14 +0000 (UTC) Received: by mail-oa1-f97.google.com with SMTP id 586e51a60fabf-d6e29fb3d7so4003153fac.7 for ; Thu, 05 May 2022 05:13:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:dkim-signature:date:from:to:cc:subject :message-id:content-disposition:user-agent; bh=t7IyGM1PKLvCYj6DQvv6UjWdSV7ltvFKCoW393kXRNw=; b=IJZqWkGEYO8ulB201zsu+qHsHYPFIF4JVfaKlsu9WOHUKv6YIco2Cc1iD+Uoq9WVgd 9HpkkD8c4R2yMS+n6KnSKTaDQ5oSbf+YFxRKqU+rW9j2SrKccpk5y2DS/l4oDL4Diszf kVdqYbB7md9nOjZcgB3ygJMfwDVeTxHE6+tLUf5vKrHBZ68PJOSF2lb4aDKdOcTR/6vO qVj/7EVK0e3KoJl00ANtdqnYgXLvNRnVTnUZf8wYfcRdnJrpX7J9JZXGocBsL/IhFZrG H+Or00RT5mNQQiie49E6T28VHXZDsjFkN08h+jic6/ZmsNxK2eN3nrK91EnaNhzg6Zv5 //eg== X-Gm-Message-State: AOAM531iVX+v7zn/ZmQ4K15C0OMu4RvIo5/ls/uVrpjj2aIqlzzzh7Sa vs/NJ4p2jy6gShGukVGFTX4K1ozLv4In/6ulYesIrgqJBvYQ X-Google-Smtp-Source: ABdhPJxUkvnIikJ8E1BXEQ5yQQkxhwMXWA/OpLAcn/gt3X4vfgcVDWDzHy+KFmDWVoeLGB5zxWMtyAUJ90dN X-Received: by 2002:a05:6870:42cc:b0:ed:5822:c10e with SMTP id z12-20020a05687042cc00b000ed5822c10emr1981057oah.171.1651752810988; Thu, 05 May 2022 05:13:30 -0700 (PDT) Received: from smtp.aristanetworks.com (mx.aristanetworks.com. [162.210.129.12]) by smtp-relay.gmail.com with ESMTPS id 24-20020a05687010d800b000edd6d3a87asm88495oar.38.2022.05.05.05.13.30 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 05 May 2022 05:13:30 -0700 (PDT) X-Relaying-Domain: arista.com Received: from us192.sjc.aristanetworks.com (us192.sjc.aristanetworks.com [10.243.24.7]) by smtp.aristanetworks.com (Postfix) with ESMTP id 46A4D53222C; Thu, 5 May 2022 05:13:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arista.com; s=Arista-A; t=1651752810; bh=t7IyGM1PKLvCYj6DQvv6UjWdSV7ltvFKCoW393kXRNw=; h=Date:From:To:Cc:Subject:From; b=E1j+U2hl6CofJ8uiprGDIHpGd2TFUWswYtuDc/9R27b1EB7Y69W7zoVvtRffljx5Z sjAYQQ0Kpsd/xuo7Tk3grwQCOvgXO4VBje31QSr4qeRkDyuL/TgSBrTvHDAByWyGmL piIhedVavXg/djHKPya8N8MoAAJoSqgNURHEG0NZ6V/+86tbzw2LTJrI0V/j8ZrAkE uNov92hP4YCmKgaktYB+WeffKims7dHVH62bxVsTXc+FiK+lfQ2jGVR8TYDjJxKL50 8/fEfu+s+495H7MKCSyZnSFJj9QGwIbqC6BhnKFlvxq8C+2wPRHN+4EnMxYHpd5M1z AY2l58vGnkRDA== Received: by us192.sjc.aristanetworks.com (Postfix, from userid 10278) id 28A5E6A40F6E; Thu, 5 May 2022 05:13:30 -0700 (PDT) Date: Thu, 5 May 2022 05:13:30 -0700 From: Ganesan Rajagopal To: hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com Cc: cgroups@vger.kernel.org, linux-mm@kvack.org, rganesan@arista.com Subject: [PATCH] mm/memcontrol: Export memcg->watermark via sysfs for v2 memcg Message-ID: <20220505121329.GA32827@us192.sjc.aristanetworks.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=arista.com header.s=Arista-A header.b=E1j+U2hl; dmarc=pass (policy=reject) header.from=arista.com; spf=none (imf12.hostedemail.com: domain of rganesan@arista.com has no SPF policy when checking 209.85.160.97) smtp.mailfrom=rganesan@arista.com X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: E144140082 X-Rspam-User: X-Stat-Signature: isipz5zgy9877mi5ghd9w31rqpk7b97t X-HE-Tag: 1651752794-65589 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: v1 memcg exports memcg->watermark as "memory.mem_usage_in_bytes" in sysfs. This is missing for v2 memcg though "memory.current" is exported. There is no other easy way of getting this information in Linux. getrsuage() returns ru_maxrss but that's the max RSS of a single process instead of the aggregated max RSS of all the processes. Hence, expose memcg->watermark as "memory.watermark" for v2 memcg. Signed-off-by: Ganesan Rajagopal --- mm/memcontrol.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 725f76723220..57ed07deff3e 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -6098,6 +6098,14 @@ static u64 memory_current_read(struct cgroup_subsys_state *css, return (u64)page_counter_read(&memcg->memory) * PAGE_SIZE; } +static u64 memory_watermark_read(struct cgroup_subsys_state *css, + struct cftype *cft) +{ + struct mem_cgroup *memcg = mem_cgroup_from_css(css); + + return (u64)memcg->memory.watermark * PAGE_SIZE; +} + static int memory_min_show(struct seq_file *m, void *v) { return seq_puts_memcg_tunable(m, @@ -6361,6 +6369,11 @@ static struct cftype memory_files[] = { .flags = CFTYPE_NOT_ON_ROOT, .read_u64 = memory_current_read, }, + { + .name = "watermark", + .flags = CFTYPE_NOT_ON_ROOT, + .read_u64 = memory_watermark_read, + }, { .name = "min", .flags = CFTYPE_NOT_ON_ROOT, -- 2.28.0