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 X-Spam-Level: X-Spam-Status: No, score=-23.2 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 40CC7C433DB for ; Fri, 12 Feb 2021 18:57:10 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 9E19264EAA for ; Fri, 12 Feb 2021 18:57:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9E19264EAA Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id D3AC88D0083; Fri, 12 Feb 2021 13:57:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CC43F8D0060; Fri, 12 Feb 2021 13:57:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B8B638D0083; Fri, 12 Feb 2021 13:57:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0030.hostedemail.com [216.40.44.30]) by kanga.kvack.org (Postfix) with ESMTP id A06D58D0060 for ; Fri, 12 Feb 2021 13:57:08 -0500 (EST) Received: from smtpin16.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 59E5C181D5534 for ; Fri, 12 Feb 2021 18:57:08 +0000 (UTC) X-FDA: 77810523336.16.DF9059E Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) by imf30.hostedemail.com (Postfix) with ESMTP id A49A2E0011D9 for ; Fri, 12 Feb 2021 18:57:05 +0000 (UTC) Received: by mail-lf1-f45.google.com with SMTP id b2so989499lfq.0 for ; Fri, 12 Feb 2021 10:57:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jcvglq6lm2v5NtoaNp7KAMjtS1nc2H/6Xlbtuy2KR4E=; b=kYi+d4wWq5tEorGxBX7x8+FRyebVeyXfgD+pv7bsDTvGDW8T9FZMxZ8g6MBVNoA1xw MdGVwA1ePiWKy6yUW7yk7ZIUeAdaHebjjsy7bdTYokCBK/uOVggZWmLLWyJ/FakeDvHD pITpd+Y+ovlJbJaRSfT1OhZDWxJGYRmPFnzgKNHKmJbY4kh6kMrGrQaJi5ZfEodvZYg7 nRop1AU9UXtKRKxN/GkyrhIFevvhuH9TPjnkO/w2xFGk3sqfafJ4putZUFsI+egd78OH NjgpXytBano01WNQR9Q1xjCDLp9DiIraeVFqgMe/txbV5MqPvK24L5MbCbZ3Fh9pntB5 NowQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jcvglq6lm2v5NtoaNp7KAMjtS1nc2H/6Xlbtuy2KR4E=; b=CQCN5jzm6T9KjuXoBIow8Z3LGbcd9Amgqk9t85/bax0bfalaEnXi0IGzJEe0SgYKH6 ZkM2NLR0pB8D1/EJcmN9FiMRntkVSxB1JYZ4U2TmvuLvS6Z5bqsyeta0au3auJ3Ou8ao yy7GNnVQ1jESMILApNLYFRa3vUNaXmsq06fUKDDgfFSyj92pe+2d+LyZ79KtdqZcPtpp za0ef9WH+//RZo0UXG+pv2m7am8p9FRU/aSp8YrKv7QIbJuppTvbFyoUX7ppwPUeTg5f tq+x9Jr8HjgWWh9QZgwveU0PJcPYZ8st8BOyCZXL+p7J6t9sIANlvenNEHLe4H6xB/XL LXJA== X-Gm-Message-State: AOAM533gDbI0zkWcZ3q5xty6CSULdKhHEfZoCRBnbMJdLT9sQ0wy1XsI VTV1wnwh3ap9D3YaJEUKMNaP9LBb60ZSfCK8hD5A8w== X-Google-Smtp-Source: ABdhPJwAOYDXAEN5WNwZAeVEMl2GGPFdRVNq1BAUEoKLv2s+gMFyHinl5X5g7/6SIVbIDkAvSIVoxVNRJ3j4rqMyA8I= X-Received: by 2002:a19:ad03:: with SMTP id t3mr2292251lfc.358.1613156226042; Fri, 12 Feb 2021 10:57:06 -0800 (PST) MIME-Version: 1.0 References: <20210212170159.32153-1-songmuchun@bytedance.com> <20210212170159.32153-4-songmuchun@bytedance.com> In-Reply-To: <20210212170159.32153-4-songmuchun@bytedance.com> From: Shakeel Butt Date: Fri, 12 Feb 2021 10:56:54 -0800 Message-ID: Subject: Re: [PATCH 4/4] mm: memcontrol: fix swap uncharge on cgroup v2 To: Muchun Song , Huang Ying , Tim Chen Cc: Johannes Weiner , Michal Hocko , Vladimir Davydov , Andrew Morton , Cgroups , Linux MM , LKML Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: A49A2E0011D9 X-Stat-Signature: 4bfxq8w3q6tprup35botu8bkox6u85co Received-SPF: none (google.com>: No applicable sender policy available) receiver=imf30; identity=mailfrom; envelope-from=""; helo=mail-lf1-f45.google.com; client-ip=209.85.167.45 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1613156225-845945 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: CCing more folks. On Fri, Feb 12, 2021 at 9:14 AM Muchun Song wrote: > > The swap charges the actual number of swap entries on cgroup v2. > If a swap cache page is charged successful, and then we uncharge > the swap counter. It is wrong on cgroup v2. Because the swap > entry is not freed. > > Fixes: 2d1c498072de ("mm: memcontrol: make swap tracking an integral part of memory control") > Signed-off-by: Muchun Song What's the user visible impact of this change? One impact I can see is that without this patch meminfo's (SwapTotal - SwapFree) is larger than the sum of top level memory.swap.current. This change will reduce that gap. BTW what about per-cpu slots_ret cache? Should we call mem_cgroup_uncharge_swap() before putting in the cache after this change? > --- > mm/memcontrol.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index c737c8f05992..be6bc5044150 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -6753,7 +6753,7 @@ int mem_cgroup_charge(struct page *page, struct mm_struct *mm, gfp_t gfp_mask) > memcg_check_events(memcg, page); > local_irq_enable(); > > - if (PageSwapCache(page)) { > + if (!cgroup_subsys_on_dfl(memory_cgrp_subsys) && PageSwapCache(page)) { > swp_entry_t entry = { .val = page_private(page) }; > /* > * The swap entry might not get freed for a long time, > -- > 2.11.0 >