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=-8.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, 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 5B9A2C433B4 for ; Sun, 11 Apr 2021 05:38:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 30215610C8 for ; Sun, 11 Apr 2021 05:38:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234312AbhDKFiU (ORCPT ); Sun, 11 Apr 2021 01:38:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52378 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229956AbhDKFiT (ORCPT ); Sun, 11 Apr 2021 01:38:19 -0400 Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8F31FC06138B for ; Sat, 10 Apr 2021 22:38:03 -0700 (PDT) Received: by mail-pl1-x62c.google.com with SMTP id d8so4650716plh.11 for ; Sat, 10 Apr 2021 22:38:03 -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=cgAD+2Nb2JOJjFZwnbACnpjZOW/zFycvAp8/3df7DPY=; b=cuz0Au2QXG8fhErH3AfTOSYHsD+gIFbdCcOB0h574oKDLmARFTvqPTGBVpUX0IcvrQ g7wQmLffrnYVoGggC+OGhNkRcfTkm1cWqfQ6Mem5qAtMU8jBl0L5pSSW7dWKTcaI0jUd 8tNiE0m/SQU3IzslT7sYKtBHVh5zAVAJQQ8Af/ggHKKSB9WPbd9XudD+MOxbeyDo/ZET 90c+PoH/UmZVXgT3xV6fXJZmoUbyT5/C1Y2+unLAmGmk+uefwdtz7t4a5ESbDkgbx6cO I13sXTf2NIAkIRqCmhcRt+EBtnAuuNGKs8d4XUvZIFCOTBZaRkqwOesAWwx9x+T7MuUf HAWw== 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=cgAD+2Nb2JOJjFZwnbACnpjZOW/zFycvAp8/3df7DPY=; b=RCivvMbhwOncKw2hup1rqsE4SlTY2tus0uWM6YqBaHpMbm5lYGepKb7B4QcXuCxByc 5wdhOpewGqIRRdBSxhxcNsFNe2IqgUsW+R8Bw9XViy8YdDp2ZDwAmIgAQ83rDEbWZQbo BgF6+Tm+G46KqvNTlrPIk/09BREUU5WDfJI3iAV8JD/i4Z77bEJi6Y7yrgC6LCC+lY5D EdeMsGBahpsf6E3heTeokBaS9G8xusFTj5g+JzJTFENaUDLHKRQSXTlskXeXcSN2IKEE Hj7aH7giXvKy8/hTXkK7QJ/TXJ/EDO5/7nB9gNSoRpkFgG9uWDbtmTwIFck5LZfPMwmN IlLQ== X-Gm-Message-State: AOAM531sbu9b+YL9qN+4mUNRv9ejFZzpx2uYuhJO7HUiwwKjfN386fpE aXPrLtiKN4A/ngp9ERHvloGTN2sNuVsqGOQu3SzQYQ== X-Google-Smtp-Source: ABdhPJwOLfxJ2QLvRIEhyvQbdZZ1zjB0OonB//U83Y9DhfQj6Dfxj+tt9z6tMR6zZtWkckfVgRJmL+Cc6Q2km5cTFN0= X-Received: by 2002:a17:90a:a895:: with SMTP id h21mr12221893pjq.13.1618119483172; Sat, 10 Apr 2021 22:38:03 -0700 (PDT) MIME-Version: 1.0 References: <20210409122959.82264-1-songmuchun@bytedance.com> <20210409122959.82264-5-songmuchun@bytedance.com> In-Reply-To: From: Muchun Song Date: Sun, 11 Apr 2021 13:37:26 +0800 Message-ID: Subject: Re: [External] Re: [RFC PATCH v2 04/18] mm: memcontrol: simplify lruvec_holds_page_lru_lock To: Johannes Weiner Cc: guro@fb.com, mhocko@kernel.org, akpm@linux-foundation.org, shakeelb@google.com, vdavydov.dev@gmail.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, duanxiongchun@bytedance.com, fam.zheng@bytedance.com, bsingharora@gmail.com, shy828301@gmail.com, alex.shi@linux.alibaba.com Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Apr 10, 2021 at 12:00 AM Johannes Weiner wrote: > > On Fri, Apr 09, 2021 at 08:29:45PM +0800, Muchun Song wrote: > > We already have a helper lruvec_memcg() to get the memcg from lruvec, we > > do not need to do it ourselves in the lruvec_holds_page_lru_lock(). So use > > lruvec_memcg() instead. And if mem_cgroup_disabled() returns false, the > > page_memcg(page) (the LRU pages) cannot be NULL. So remove the odd logic > > of "memcg = page_memcg(page) ? : root_mem_cgroup". And use lruvec_pgdat > > to simplify the code. We can have a single definition for this function > > that works for !CONFIG_MEMCG, CONFIG_MEMCG + mem_cgroup_disabled() and > > CONFIG_MEMCG. > > > > Signed-off-by: Muchun Song > > Looks good to me. > > Acked-by: Johannes Weiner Thanks for your review. > > If you haven't done so yet, please make sure to explicitly test with > all three config combinations, just because the dummy abstractions for > memcg disabled or compiled out tend to be paper thin and don't always > behave the way you might expect when you do more complicated things. I have tested. There is no problem. Thanks :-) > > Something like > > boot > echo sparsefile >/dev/null (> ram size to fill memory and reclaim) > echo 1 >/proc/sys/vm/compact_memory > > should exercise this new function in a couple of important scenarios. 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=-8.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, 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 66EE6C433B4 for ; Sun, 11 Apr 2021 05:38:06 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id D457761029 for ; Sun, 11 Apr 2021 05:38:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D457761029 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 41B0B8E0001; Sun, 11 Apr 2021 01:38:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3CAE68D0001; Sun, 11 Apr 2021 01:38:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 21B368E0001; Sun, 11 Apr 2021 01:38:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0069.hostedemail.com [216.40.44.69]) by kanga.kvack.org (Postfix) with ESMTP id F2E4D8D0001 for ; Sun, 11 Apr 2021 01:38:04 -0400 (EDT) Received: from smtpin33.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id B011E62D0 for ; Sun, 11 Apr 2021 05:38:04 +0000 (UTC) X-FDA: 78018980088.33.22A2A0D Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by imf02.hostedemail.com (Postfix) with ESMTP id A63B340002C4 for ; Sun, 11 Apr 2021 05:37:51 +0000 (UTC) Received: by mail-pj1-f49.google.com with SMTP id u11so1267192pjr.0 for ; Sat, 10 Apr 2021 22:38:03 -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=cgAD+2Nb2JOJjFZwnbACnpjZOW/zFycvAp8/3df7DPY=; b=cuz0Au2QXG8fhErH3AfTOSYHsD+gIFbdCcOB0h574oKDLmARFTvqPTGBVpUX0IcvrQ g7wQmLffrnYVoGggC+OGhNkRcfTkm1cWqfQ6Mem5qAtMU8jBl0L5pSSW7dWKTcaI0jUd 8tNiE0m/SQU3IzslT7sYKtBHVh5zAVAJQQ8Af/ggHKKSB9WPbd9XudD+MOxbeyDo/ZET 90c+PoH/UmZVXgT3xV6fXJZmoUbyT5/C1Y2+unLAmGmk+uefwdtz7t4a5ESbDkgbx6cO I13sXTf2NIAkIRqCmhcRt+EBtnAuuNGKs8d4XUvZIFCOTBZaRkqwOesAWwx9x+T7MuUf HAWw== 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=cgAD+2Nb2JOJjFZwnbACnpjZOW/zFycvAp8/3df7DPY=; b=jgBIy/dEtu6bznQNsLEdanLaot4dIFCQ/yLa7G+e4hT8CKeBCwSEVwxxYN492Jqcz0 uek6GIAXrLVmtWnV51DG2eD3BVZdO+0Zxk5idHw8DUsvqSdhwTsnhbg92yJFzNVKv6sk lciSJpqpT8SYJ+jgB4MAfLMYzhz55ZS21T7KN8QaKN3nE0i9SXTssCVMsq81sSaX6FsN VDN0njH2wBpT9OXFgUhfnyqqIy6QnOU2js4JLK+Y3cnBUxMleY3ENKOSSllDFvZ0Pf/z IuMmPlnnSwbqG1WaOOJ2QYMw4XRBNgdAEkH63LXzZ43UWGW/7u6lmAOHLQGmRouG2w1q usyg== X-Gm-Message-State: AOAM530s3ikyb30+r6fQWWdRBglayGDChDAJPernTortvNTp0yLsORVU ik3tAmd5IIwnu6xJVBN26rje0EitmOH4HNSCQJoqJg== X-Google-Smtp-Source: ABdhPJwOLfxJ2QLvRIEhyvQbdZZ1zjB0OonB//U83Y9DhfQj6Dfxj+tt9z6tMR6zZtWkckfVgRJmL+Cc6Q2km5cTFN0= X-Received: by 2002:a17:90a:a895:: with SMTP id h21mr12221893pjq.13.1618119483172; Sat, 10 Apr 2021 22:38:03 -0700 (PDT) MIME-Version: 1.0 References: <20210409122959.82264-1-songmuchun@bytedance.com> <20210409122959.82264-5-songmuchun@bytedance.com> In-Reply-To: From: Muchun Song Date: Sun, 11 Apr 2021 13:37:26 +0800 Message-ID: Subject: Re: [External] Re: [RFC PATCH v2 04/18] mm: memcontrol: simplify lruvec_holds_page_lru_lock To: Johannes Weiner Cc: guro@fb.com, mhocko@kernel.org, akpm@linux-foundation.org, shakeelb@google.com, vdavydov.dev@gmail.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, duanxiongchun@bytedance.com, fam.zheng@bytedance.com, bsingharora@gmail.com, shy828301@gmail.com, alex.shi@linux.alibaba.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: A63B340002C4 X-Stat-Signature: rsshquzta865xp3qkb643kfhp3jb4f5y Received-SPF: none (bytedance.com>: No applicable sender policy available) receiver=imf02; identity=mailfrom; envelope-from=""; helo=mail-pj1-f49.google.com; client-ip=209.85.216.49 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1618119471-210899 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 Sat, Apr 10, 2021 at 12:00 AM Johannes Weiner wrote: > > On Fri, Apr 09, 2021 at 08:29:45PM +0800, Muchun Song wrote: > > We already have a helper lruvec_memcg() to get the memcg from lruvec, we > > do not need to do it ourselves in the lruvec_holds_page_lru_lock(). So use > > lruvec_memcg() instead. And if mem_cgroup_disabled() returns false, the > > page_memcg(page) (the LRU pages) cannot be NULL. So remove the odd logic > > of "memcg = page_memcg(page) ? : root_mem_cgroup". And use lruvec_pgdat > > to simplify the code. We can have a single definition for this function > > that works for !CONFIG_MEMCG, CONFIG_MEMCG + mem_cgroup_disabled() and > > CONFIG_MEMCG. > > > > Signed-off-by: Muchun Song > > Looks good to me. > > Acked-by: Johannes Weiner Thanks for your review. > > If you haven't done so yet, please make sure to explicitly test with > all three config combinations, just because the dummy abstractions for > memcg disabled or compiled out tend to be paper thin and don't always > behave the way you might expect when you do more complicated things. I have tested. There is no problem. Thanks :-) > > Something like > > boot > echo sparsefile >/dev/null (> ram size to fill memory and reclaim) > echo 1 >/proc/sys/vm/compact_memory > > should exercise this new function in a couple of important scenarios.