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=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT 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 573FCC433ED for ; Wed, 28 Apr 2021 09:54:18 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id CA67061419 for ; Wed, 28 Apr 2021 09:54:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CA67061419 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=bytedance.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 563846B0071; Wed, 28 Apr 2021 05:54:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4EDE56B0072; Wed, 28 Apr 2021 05:54:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 318126B0073; Wed, 28 Apr 2021 05:54:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0061.hostedemail.com [216.40.44.61]) by kanga.kvack.org (Postfix) with ESMTP id 119C76B0071 for ; Wed, 28 Apr 2021 05:54:17 -0400 (EDT) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id C36AC181AF5CA for ; Wed, 28 Apr 2021 09:54:16 +0000 (UTC) X-FDA: 78081315312.27.301690E Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by imf17.hostedemail.com (Postfix) with ESMTP id CD38040002DD for ; Wed, 28 Apr 2021 09:54:12 +0000 (UTC) Received: by mail-pf1-f171.google.com with SMTP id v191so1594246pfc.8 for ; Wed, 28 Apr 2021 02:54:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DbfZmKXxQSOn7wHkCejhev2qWZcfPUS5M9gRiT8vHvs=; b=BqOFNyjA/Es8BddpzZ+9QxaIwEeZvSIuQO419b/fBSreqOqcUtciS6XnVplZDrZlG/ Imy6gNobcHN9VQvDMV/23CyMkdByJAqNWYXOjnXrqLQnlBCL3Q5MGNlt5tUXlbGe2fsh EzWGLAY4HuEZi8OeUdvhfwXr+AJyKi8UUff6lbxmCS5S1oHkh6xPZtngzOHzBOlXvwa7 mXj6jgUf+OY2OCpdvZPqdFr/f0e9CYhODs0mfdwqr9OPaDCGojvLQSHtoTaEfwj0nl7d rN6sbJqX27CKHTBysTUwLvfX/Ky7+llOZ3baxVl62+P2oov3Ev4KJJ6+DO2fgHGZetZS JHzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DbfZmKXxQSOn7wHkCejhev2qWZcfPUS5M9gRiT8vHvs=; b=JOKN/lrdmW0IXr7Be5+hYeITLQnebdv6nTr4aX1xckife48OZR0InK2DI3Cm+7Z8Q6 9OJtpMDHe6yFEL4CnMdgrFb9mrNaIlQ171ucCSjlnMn3slYTM/K5uk1QtVSDwW6iWtYK gQvM7zkApeduE/rZLU6YXQb1gVkug9+RHmDpM0OuuOc+dCR75j+iqq4LBDhApi244g1k ZuRyL6FsBwQzfATCrr/WhDtBt+Z8aAWZ2fiRnWtfDhIGPhSHELY3whcYpY5deMo5BM6s 1Dkjnkb1Xee+DlN/QRrj9joVEt3yScycArY+ZNHuwmuU3jJBC0QRChnnH7MJ5tqxPayG NAqQ== X-Gm-Message-State: AOAM5336R7DVCkM7yq8ti5REBMX/NxF0QtFmTIP/CpRKxgikrDhi22lx Wa8uT28vF/5jd1BGKK6BaZ7ATw== X-Google-Smtp-Source: ABdhPJw1XENVld3cLK+I71antXFfgkPHZ+eowp5+rG7qg4jm1nTaFVssJ6CW0IB96l43Y9shWLLlEQ== X-Received: by 2002:aa7:9806:0:b029:253:e613:4ada with SMTP id e6-20020aa798060000b0290253e6134adamr27192427pfl.65.1619603655719; Wed, 28 Apr 2021 02:54:15 -0700 (PDT) Received: from localhost.localdomain ([139.177.225.233]) by smtp.gmail.com with ESMTPSA id x77sm4902365pfc.19.2021.04.28.02.54.10 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Apr 2021 02:54:15 -0700 (PDT) From: Muchun Song To: willy@infradead.org, akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org, vdavydov.dev@gmail.com, shakeelb@google.com, guro@fb.com, shy828301@gmail.com, alexs@kernel.org, alexander.h.duyck@linux.intel.com, richard.weiyang@gmail.com Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Muchun Song Subject: [PATCH 3/9] mm: list_lru: rename memcg_drain_all_list_lrus to memcg_reparent_list_lrus Date: Wed, 28 Apr 2021 17:49:43 +0800 Message-Id: <20210428094949.43579-4-songmuchun@bytedance.com> X-Mailer: git-send-email 2.21.0 (Apple Git-122) In-Reply-To: <20210428094949.43579-1-songmuchun@bytedance.com> References: <20210428094949.43579-1-songmuchun@bytedance.com> MIME-Version: 1.0 X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: CD38040002DD X-Stat-Signature: fe5j1gfteddnck8ynck9ck5ug8d484kd Received-SPF: none (bytedance.com>: No applicable sender policy available) receiver=imf17; identity=mailfrom; envelope-from=""; helo=mail-pf1-f171.google.com; client-ip=209.85.210.171 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1619603652-687083 Content-Transfer-Encoding: quoted-printable 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: Since we do not change memcg->kmemcg_id before calling memcg_drain_all_list_lrus(), so we do not need to take kmemcg_id as parameter. The two parameters of memcg_drain_all_list_lrus() seems odd, one is kmemcg_id, another is memcg. Now we can change the kmemcg_id to the memcg. It is more consistent. Since the purpose of the memcg_drain_all_list_lrus() is list_lru reparenting. So also rename it to memcg_reparent_list_lrus(). The name is also consistent with memcg_reparent_objcgs(). Signed-off-by: Muchun Song --- include/linux/list_lru.h | 2 +- mm/list_lru.c | 23 ++++++++++++----------- mm/memcontrol.c | 2 +- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/include/linux/list_lru.h b/include/linux/list_lru.h index 9dcaa3e582c9..e8a5e3a2c0dd 100644 --- a/include/linux/list_lru.h +++ b/include/linux/list_lru.h @@ -70,7 +70,7 @@ int __list_lru_init(struct list_lru *lru, bool memcg_aw= are, __list_lru_init((lru), true, NULL, shrinker) =20 int memcg_update_all_list_lrus(int num_memcgs); -void memcg_drain_all_list_lrus(int src_idx, struct mem_cgroup *dst_memcg= ); +void memcg_reparent_list_lrus(struct mem_cgroup *memcg, struct mem_cgrou= p *parent); =20 /** * list_lru_add: add an element to the lru list's tail diff --git a/mm/list_lru.c b/mm/list_lru.c index 4962d48d4410..d78dba5a6dab 100644 --- a/mm/list_lru.c +++ b/mm/list_lru.c @@ -523,11 +523,11 @@ int memcg_update_all_list_lrus(int new_size) goto out; } =20 -static void memcg_drain_list_lru_node(struct list_lru *lru, int nid, - int src_idx, struct mem_cgroup *dst_memcg) +static void memcg_reparent_list_lru_node(struct list_lru *lru, int nid, + struct mem_cgroup *memcg, + struct mem_cgroup *parent) { struct list_lru_node *nlru =3D &lru->node[nid]; - int dst_idx =3D dst_memcg->kmemcg_id; struct list_lru_one *src, *dst; =20 /* @@ -536,22 +536,23 @@ static void memcg_drain_list_lru_node(struct list_l= ru *lru, int nid, */ spin_lock_irq(&nlru->lock); =20 - src =3D list_lru_from_memcg_idx(nlru, src_idx); - dst =3D list_lru_from_memcg_idx(nlru, dst_idx); + src =3D list_lru_from_memcg_idx(nlru, memcg->kmemcg_id); + dst =3D list_lru_from_memcg_idx(nlru, parent->kmemcg_id); =20 list_splice_init(&src->list, &dst->list); =20 if (src->nr_items) { dst->nr_items +=3D src->nr_items; - set_shrinker_bit(dst_memcg, nid, lru_shrinker_id(lru)); + set_shrinker_bit(parent, nid, lru_shrinker_id(lru)); src->nr_items =3D 0; } =20 spin_unlock_irq(&nlru->lock); } =20 -static void memcg_drain_list_lru(struct list_lru *lru, - int src_idx, struct mem_cgroup *dst_memcg) +static void memcg_reparent_list_lru(struct list_lru *lru, + struct mem_cgroup *memcg, + struct mem_cgroup *parent) { int i; =20 @@ -559,16 +560,16 @@ static void memcg_drain_list_lru(struct list_lru *l= ru, return; =20 for_each_node(i) - memcg_drain_list_lru_node(lru, i, src_idx, dst_memcg); + memcg_reparent_list_lru_node(lru, i, memcg, parent); } =20 -void memcg_drain_all_list_lrus(int src_idx, struct mem_cgroup *dst_memcg= ) +void memcg_reparent_list_lrus(struct mem_cgroup *memcg, struct mem_cgrou= p *parent) { struct list_lru *lru; =20 mutex_lock(&list_lrus_mutex); list_for_each_entry(lru, &list_lrus, list) - memcg_drain_list_lru(lru, src_idx, dst_memcg); + memcg_reparent_list_lru(lru, memcg, parent); mutex_unlock(&list_lrus_mutex); } #else diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 21e12312509c..c1ce4fdba028 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -3503,7 +3503,7 @@ static void memcg_offline_kmem(struct mem_cgroup *m= emcg) BUG_ON(kmemcg_id < 0); =20 /* memcg_reparent_objcgs() must be called before this. */ - memcg_drain_all_list_lrus(kmemcg_id, parent); + memcg_reparent_list_lrus(memcg, parent); =20 memcg_free_cache_id(kmemcg_id); } --=20 2.11.0