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=-14.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable 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 6492CC4320A for ; Thu, 19 Aug 2021 16:31:02 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id DC5C1610F9 for ; Thu, 19 Aug 2021 16:31:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org DC5C1610F9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 4D1A76B006C; Thu, 19 Aug 2021 12:31:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4815B6B0071; Thu, 19 Aug 2021 12:31:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 370856B0072; Thu, 19 Aug 2021 12:31:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0124.hostedemail.com [216.40.44.124]) by kanga.kvack.org (Postfix) with ESMTP id 1DC1F6B006C for ; Thu, 19 Aug 2021 12:31:01 -0400 (EDT) Received: from smtpin36.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id B54DA181EBA48 for ; Thu, 19 Aug 2021 16:31:00 +0000 (UTC) X-FDA: 78492369480.36.C6EF678 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by imf29.hostedemail.com (Postfix) with ESMTP id 660CA9000249 for ; Thu, 19 Aug 2021 16:31:00 +0000 (UTC) Received: by mail-pf1-f169.google.com with SMTP id y11so5985489pfl.13 for ; Thu, 19 Aug 2021 09:31:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:date:to:cc:subject:message-id:mime-version:content-disposition :user-agent; bh=fpkD+6OCoRzfkOeMTubr6LoF+sjAXSBjcDQsaNzJiUQ=; b=GLcx+rGTfAkrzYH9INJLyXKNKRZucLOxvUvYmeInROcKbJbm+K+zI1dqs0skv5CP9x 44xiv/Kk3kudHFveMfbhqZXzEoH3fAPjgu0xnDuHtsgKEMt2lW1wpDTkrUTPt192i6nU YEneL0cX16fnC85Eb3UYudifAXi7m+aoGCik5GQgz9E8rcwhhImB2TxA7nkLiJM9N5Ph Dnl16YKBASVVYpwqcwo9ZP4kilBD5Ly2C3aFxnxg6DQE4MGeFF1+hXurlhYR9hSzgvMn Va+0a4Yj8oWWMRIl0nwMyyWuY7R3S4P5l8Ce+6yITrCPD0dsdAvXiU/usNX3K6hnKN5s w8Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:date:to:cc:subject:message-id:mime-version :content-disposition:user-agent; bh=fpkD+6OCoRzfkOeMTubr6LoF+sjAXSBjcDQsaNzJiUQ=; b=Ju+84sXB9uN2swo9F2iLjp8cJxBU7vdafGW+lYyMRSr+RdTtGiOe+M/sIUSTaHoybH rshdd/z5wJbXqQdAKOk1WxNctH7rn+ZPBrdhOGedCEgAmzNJg0WL+hmM46iqDuaDMFSB eD2fj/cCBqymT3hfw0YvIpnv+XMQUgLIWKnxmnt2KZqWIch0D3kv0Qmkih/M/4ksWg5j B+osSx4rm4lW9/SHqkAPZq8oMYj/EVngJTa1XTSEk/zD7A4nAvMzN/U9HV43xvsikB7Y r8dFnlu1/XCJtFoEulD9p90on2X/lSJpi7Ynifno8wL4jjTPqHtn/+xcUws8NbkIWg8p sltg== X-Gm-Message-State: AOAM5335IRkOOIjG+3rb2CqZHTncs8pf78F2yPWIeApwSOUh5jN4SsC1 JWCfuw849+3vO2vWZGEYIQY= X-Google-Smtp-Source: ABdhPJyZ32hcCoHBVF5/ronUjvjqCmf9FjAS/yuTlL2qRVd2fmTE17GEVg28GZTRPck3LmuoG/HIDw== X-Received: by 2002:a05:6a00:1511:b0:3e1:6801:3402 with SMTP id q17-20020a056a00151100b003e168013402mr15475104pfu.23.1629390659284; Thu, 19 Aug 2021 09:30:59 -0700 (PDT) Received: from haolee.github.io ([2600:3c01::f03c:91ff:fe02:b162]) by smtp.gmail.com with ESMTPSA id v1sm4303751pgj.40.2021.08.19.09.30.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Aug 2021 09:30:58 -0700 (PDT) From: Hao Lee X-Google-Original-From: Hao Lee Date: Thu, 19 Aug 2021 16:30:56 +0000 To: akpm@linux-foundation.org Cc: hannes@cmpxchg.org, shakeelb@google.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, haolee.swjtu@gmail.com Subject: [PATCH] mm: vmscan: consistent update to pgdeactivate and pgactivate Message-ID: <20210819163056.GA9764@haolee.github.io> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.12.1 (2019-06-15) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=GLcx+rGT; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf29.hostedemail.com: domain of haoleeswjtu@gmail.com designates 209.85.210.169 as permitted sender) smtp.mailfrom=haoleeswjtu@gmail.com X-Stat-Signature: sxgqktii36mh1tn9rnbu9cjf3tfxxapf X-Rspamd-Queue-Id: 660CA9000249 X-Rspamd-Server: rspam05 X-HE-Tag: 1629390660-948205 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: After the commit 912c05720f00 ("mm: vmscan: consistent update to pgrefill"), pgrefill is consistent with pgscan and pgsteal. Only under global reclaim, are they updated at system level. Apart from that, pgdeactivate is often used together with pgrefill to measure the deactivation efficiency and pgactivate is used together with pgscan to measure the reclaim efficiency. It's also necessary to make pgdeactivate and pgactivate consistent with this rule. Signed-off-by: Hao Lee --- mm/vmscan.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index 403a175a720f..9242c01d03ac 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1814,7 +1814,8 @@ static unsigned int shrink_page_list(struct list_head *page_list, free_unref_page_list(&free_pages); list_splice(&ret_pages, page_list); - count_vm_events(PGACTIVATE, pgactivate); + if (!cgroup_reclaim(sc)) + count_vm_events(PGACTIVATE, pgactivate); return nr_reclaimed; } @@ -2427,7 +2428,8 @@ static void shrink_active_list(unsigned long nr_to_scan, /* Keep all free pages in l_active list */ list_splice(&l_inactive, &l_active); - __count_vm_events(PGDEACTIVATE, nr_deactivate); + if (!cgroup_reclaim(sc)) + __count_vm_events(PGDEACTIVATE, nr_deactivate); __count_memcg_events(lruvec_memcg(lruvec), PGDEACTIVATE, nr_deactivate); __mod_node_page_state(pgdat, NR_ISOLATED_ANON + file, -nr_taken); -- 2.31.1