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=-15.8 required=3.0 tests=BAYES_00,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 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 31BB7C11F65 for ; Wed, 30 Jun 2021 06:55:56 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id C46AB61A1D for ; Wed, 30 Jun 2021 06:55:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C46AB61A1D Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 398488D017F; Wed, 30 Jun 2021 02:55:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 36EFC8D017A; Wed, 30 Jun 2021 02:55:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 210EB8D017F; Wed, 30 Jun 2021 02:55:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0113.hostedemail.com [216.40.44.113]) by kanga.kvack.org (Postfix) with ESMTP id F26C98D017A for ; Wed, 30 Jun 2021 02:55:54 -0400 (EDT) Received: from smtpin18.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id C9C6D180882A2 for ; Wed, 30 Jun 2021 06:55:54 +0000 (UTC) X-FDA: 78309480228.18.2ACAE49 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf08.hostedemail.com (Postfix) with ESMTP id 4F987300009D for ; Wed, 30 Jun 2021 06:55:54 +0000 (UTC) Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out1.suse.de (Postfix) with ESMTP id EA27F21B6B; Wed, 30 Jun 2021 06:55:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1625036152; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Dfbk9m7pL8P6FATcEjsRSmi7MvZED6EwkmJuuT4idIA=; b=kcQ+n1tPGZEARjAErQWjGIE0PbBiHQlQN/5453W0gphAu4xHzlYFzlgc1+yg+0FT0WF0QZ 9AH7Vex5aTVjTo00/vmWYqCD876qG0t6jAhRscbRdqZ8WWq5fSQPyIt+/ZOMRp5zn0pRdG DELDTDANk4rJbPIyLXjSsrPP52ykUHg= Received: from suse.cz (unknown [10.100.201.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by relay2.suse.de (Postfix) with ESMTPS id B7D97A3B85; Wed, 30 Jun 2021 06:55:52 +0000 (UTC) Date: Wed, 30 Jun 2021 08:55:52 +0200 From: Michal Hocko To: "Matthew Wilcox (Oracle)" Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, Johannes Weiner , Vladimir Davydov Subject: Re: [PATCH v3 03/18] mm/memcg: Use the node id in mem_cgroup_update_tree() Message-ID: References: <20210630040034.1155892-1-willy@infradead.org> <20210630040034.1155892-4-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210630040034.1155892-4-willy@infradead.org> Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b=kcQ+n1tP; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf08.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.28 as permitted sender) smtp.mailfrom=mhocko@suse.com X-Stat-Signature: 94iyust8gjc3iiwmbynbkgqxijj4w9yn X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 4F987300009D X-HE-Tag: 1625036154-52413 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: On Wed 30-06-21 05:00:19, Matthew Wilcox wrote: > By using the node id in mem_cgroup_update_tree(), we can delete > soft_limit_tree_from_page() and mem_cgroup_page_nodeinfo(). Saves 42 > bytes of kernel text on my config. > > Signed-off-by: Matthew Wilcox (Oracle) Acked-by: Michal Hocko Thanks! > --- > mm/memcontrol.c | 24 ++++-------------------- > 1 file changed, 4 insertions(+), 20 deletions(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index 25cad0fb7d4e..29b28a050707 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -446,28 +446,12 @@ ino_t page_cgroup_ino(struct page *page) > return ino; > } > > -static struct mem_cgroup_per_node * > -mem_cgroup_page_nodeinfo(struct mem_cgroup *memcg, struct page *page) > -{ > - int nid = page_to_nid(page); > - > - return memcg->nodeinfo[nid]; > -} > - > static struct mem_cgroup_tree_per_node * > soft_limit_tree_node(int nid) > { > return soft_limit_tree.rb_tree_per_node[nid]; > } > > -static struct mem_cgroup_tree_per_node * > -soft_limit_tree_from_page(struct page *page) > -{ > - int nid = page_to_nid(page); > - > - return soft_limit_tree.rb_tree_per_node[nid]; > -} > - > static void __mem_cgroup_insert_exceeded(struct mem_cgroup_per_node *mz, > struct mem_cgroup_tree_per_node *mctz, > unsigned long new_usage_in_excess) > @@ -538,13 +522,13 @@ static unsigned long soft_limit_excess(struct mem_cgroup *memcg) > return excess; > } > > -static void mem_cgroup_update_tree(struct mem_cgroup *memcg, struct page *page) > +static void mem_cgroup_update_tree(struct mem_cgroup *memcg, int nid) > { > unsigned long excess; > struct mem_cgroup_per_node *mz; > struct mem_cgroup_tree_per_node *mctz; > > - mctz = soft_limit_tree_from_page(page); > + mctz = soft_limit_tree_node(nid); > if (!mctz) > return; > /* > @@ -552,7 +536,7 @@ static void mem_cgroup_update_tree(struct mem_cgroup *memcg, struct page *page) > * because their event counter is not touched. > */ > for (; memcg; memcg = parent_mem_cgroup(memcg)) { > - mz = mem_cgroup_page_nodeinfo(memcg, page); > + mz = memcg->nodeinfo[nid]; > excess = soft_limit_excess(memcg); > /* > * We have to update the tree if mz is on RB-tree or > @@ -879,7 +863,7 @@ static void memcg_check_events(struct mem_cgroup *memcg, struct page *page) > MEM_CGROUP_TARGET_SOFTLIMIT); > mem_cgroup_threshold(memcg); > if (unlikely(do_softlimit)) > - mem_cgroup_update_tree(memcg, page); > + mem_cgroup_update_tree(memcg, page_to_nid(page)); > } > } > > -- > 2.30.2 -- Michal Hocko SUSE Labs