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=-9.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,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 1193CC55178 for ; Tue, 27 Oct 2020 14:15:58 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 6771C2072D for ; Tue, 27 Oct 2020 14:15:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=bytedance-com.20150623.gappssmtp.com header.i=@bytedance-com.20150623.gappssmtp.com header.b="e7JqdiWE" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6771C2072D 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 A47C36B005C; Tue, 27 Oct 2020 10:15:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9F8896B005D; Tue, 27 Oct 2020 10:15:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 90D7B6B0062; Tue, 27 Oct 2020 10:15:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0246.hostedemail.com [216.40.44.246]) by kanga.kvack.org (Postfix) with ESMTP id 640746B005C for ; Tue, 27 Oct 2020 10:15:56 -0400 (EDT) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id E0C9F8249980 for ; Tue, 27 Oct 2020 14:15:55 +0000 (UTC) X-FDA: 77417904270.27.voice91_49054d12727c Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin27.hostedemail.com (Postfix) with ESMTP id C02C73D668 for ; Tue, 27 Oct 2020 14:15:55 +0000 (UTC) X-HE-Tag: voice91_49054d12727c X-Filterd-Recvd-Size: 5422 Received: from mail-pj1-f65.google.com (mail-pj1-f65.google.com [209.85.216.65]) by imf07.hostedemail.com (Postfix) with ESMTP for ; Tue, 27 Oct 2020 14:15:55 +0000 (UTC) Received: by mail-pj1-f65.google.com with SMTP id bb8so8061pjb.0 for ; Tue, 27 Oct 2020 07:15:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=QQKyukY3sNn8vMLwkS9RR/i1T1+mtDwNzg2ru7tNBSs=; b=e7JqdiWEdyM8LSjR0QByZe6uB/TUuo5WmCWoJ2tghcFKu/g92h7L2egphj/wJCExaG JXD9+u/ECQIOwwZVqiPs/MauJpBNOVCKAhboe5J/Z7LG9YRuLEleWNjcCn9WtqhJNO3o 49oK0+EVYHTA1BlEJ4ct3b0UDVWSsubPtihkoXv8mgHOzV0Xe4fPKn9p2M470AQzvz/7 qPnPXPoSKAUZlm2+h9DOw2DRGBNeBP9efzJDSVQEpUbq4lndcCYRdgEnWLPz0NKYK7zz C8smlVbEJ0xzZ8HjFn38SKPvBWz+Q0eY8btSFAA/nplFKZegw1b7ieiWi+eNO+xsu6ae jp0Q== 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=QQKyukY3sNn8vMLwkS9RR/i1T1+mtDwNzg2ru7tNBSs=; b=ivqIp9b+QpyFoNbJ8AFukLfUh/2UW2Euawm5PpEmpuWcVAfyk97GZvxrG7VwpDthg5 ZZ1MzUs/wo8nvpcZRvHQt80Ef5Z2Yr3ug0+MegO4mIjm5sZC2DUI/j8dDE2yqeBNDAK+ x4a6cf7lKNGMtz/bGhptGzcKPwjWFiHMSJ7Xn3K7xyB99esMgUlAFXbZP/SqIb+kGxJG seTQf6Itay1dkfKJkW5ssXsRR6zrOZZBBykXqALVUGv4ywojO34hND5hFoR5rwh0t1QJ 6DA1RqiSVkKzpckd6lqeJbQch+vm0OX5HzNCGB7aaZXoYIOUoDTzsKaFeLT6zmhL7gzr ZN6A== X-Gm-Message-State: AOAM5337JSor+ZLUy3xRRk+Kng2wankGem4N8GHj3vMqoX5j149Xns/Z xojuycdKVYaKx59C7Vj8u9g2KR7gzQ9pdpWITCx+6g== X-Google-Smtp-Source: ABdhPJxNAz2qfK78FLwUuT+HxqGc6qfBGIvHzVQWHXky+sDLyZvezHhwafmoNl3ff9piTGKinjqr8m4za/hx9/mV/G8= X-Received: by 2002:a17:90b:198d:: with SMTP id mv13mr2255516pjb.13.1603808153898; Tue, 27 Oct 2020 07:15:53 -0700 (PDT) MIME-Version: 1.0 References: <20201027080256.76497-1-songmuchun@bytedance.com> <20201027080256.76497-6-songmuchun@bytedance.com> <20201027133639.GT20500@dhcp22.suse.cz> In-Reply-To: <20201027133639.GT20500@dhcp22.suse.cz> From: Muchun Song Date: Tue, 27 Oct 2020 22:15:16 +0800 Message-ID: Subject: Re: [External] Re: [PATCH 5/5] mm: memcontrol: Simplify the mem_cgroup_page_lruvec To: Michal Hocko Cc: Johannes Weiner , Vladimir Davydov , Andrew Morton , Shakeel Butt , Roman Gushchin , Joonsoo Kim , laoar.shao@gmail.com, Chris Down , Christian Brauner , Peter Zijlstra , Ingo Molnar , Kees Cook , Thomas Gleixner , esyr@redhat.com, Suren Baghdasaryan , areber@redhat.com, Marco Elver , LKML , Cgroups , Linux Memory Management List Content-Type: text/plain; charset="UTF-8" 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 Tue, Oct 27, 2020 at 9:36 PM Michal Hocko wrote: > > On Tue 27-10-20 16:02:56, Muchun Song wrote: > > We can reuse the code of mem_cgroup_lruvec() to simplify the code > > of the mem_cgroup_page_lruvec(). > > yes, removing the code duplication is reasonable. But ... > > > > > Signed-off-by: Muchun Song > > --- > > include/linux/memcontrol.h | 44 +++++++++++++++++++++++++++----------- > > mm/memcontrol.c | 40 ---------------------------------- > > 2 files changed, 32 insertions(+), 52 deletions(-) > > > > diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h > > index 95807bf6be64..5e8480e54cd8 100644 > > --- a/include/linux/memcontrol.h > > +++ b/include/linux/memcontrol.h > > @@ -451,16 +451,9 @@ mem_cgroup_nodeinfo(struct mem_cgroup *memcg, int nid) > > return memcg->nodeinfo[nid]; > > } > > > > -/** > > - * mem_cgroup_lruvec - get the lru list vector for a memcg & node > > - * @memcg: memcg of the wanted lruvec > > - * > > - * Returns the lru list vector holding pages for a given @memcg & > > - * @node combination. This can be the node lruvec, if the memory > > - * controller is disabled. > > - */ > > -static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg, > > - struct pglist_data *pgdat) > > +static inline struct lruvec *mem_cgroup_node_lruvec(struct mem_cgroup *memcg, > > + struct pglist_data *pgdat, > > + int nid) > > This is just wrong interface. Either take nid or pgdat. You do not want > both because that just begs for wrong usage. If we want to avoid abuse of mem_cgroup_node_lruvec. We can move those functions to the memcontrol.c. And add the "static" attribute to the mem_cgroup_node_lruvec. Just export mem_cgroup_lruvec and mem_cgroup_page_lruvec. Is this OK? Thanks. > -- > Michal Hocko > SUSE Labs -- Yours, Muchun