From patchwork Wed Mar 20 02:42:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kaiyang Zhao X-Patchwork-Id: 13597225 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8E90EC54E68 for ; Wed, 20 Mar 2024 02:42:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1FA0D6B0095; Tue, 19 Mar 2024 22:42:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0BF046B0096; Tue, 19 Mar 2024 22:42:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DA13E6B0098; Tue, 19 Mar 2024 22:42:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id BC56C6B0095 for ; Tue, 19 Mar 2024 22:42:28 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 97E76A014A for ; Wed, 20 Mar 2024 02:42:28 +0000 (UTC) X-FDA: 81915868776.30.0599411 Received: from mail-qv1-f44.google.com (mail-qv1-f44.google.com [209.85.219.44]) by imf19.hostedemail.com (Postfix) with ESMTP id F0CA21A0009 for ; Wed, 20 Mar 2024 02:42:26 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=cs.cmu.edu header.s=google-2021 header.b=Oy3gckHl; spf=pass (imf19.hostedemail.com: domain of kaiyang2@andrew.cmu.edu designates 209.85.219.44 as permitted sender) smtp.mailfrom=kaiyang2@andrew.cmu.edu; dmarc=pass (policy=none) header.from=cs.cmu.edu ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710902547; a=rsa-sha256; cv=none; b=OHkBp0KETIFilZlutSASNS4IkhWPn/RIB771pF8eyWr+XT7v1b+6uO3LQnzloNBJyVnYjS DurRe93kH+D/12YUQnnVo7eGM9Oux1QQdHAmqzGJl+OosBgKQht7/HwVkRPXiqW88PV/X2 7Y6wxG7z8X0tNy6gamslsDzDU+fpbDI= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=cs.cmu.edu header.s=google-2021 header.b=Oy3gckHl; spf=pass (imf19.hostedemail.com: domain of kaiyang2@andrew.cmu.edu designates 209.85.219.44 as permitted sender) smtp.mailfrom=kaiyang2@andrew.cmu.edu; dmarc=pass (policy=none) header.from=cs.cmu.edu ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710902547; h=from:from:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DIGL+dvsKsYG7Tx7310j/b/qOHwOOB9JaG0dOT6QmVU=; b=JNraL8T40xazXoeM2w/fpmvVnQ95Bq1EkgOGD8UfoFZkyj/GLpcsqRPmz6j+S1Hcq3CzKn OinqFq+oaOGEDbYaXaU9xqzOT9m9edrKNqOr6/gnoAHywg4yZ3t/lPbpxdetwOJKe3f1dA sGS24FPofHHCXxDJdBKHc36GYs3nCNk= Received: by mail-qv1-f44.google.com with SMTP id 6a1803df08f44-690bd329df2so42751676d6.2 for ; Tue, 19 Mar 2024 19:42:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.cmu.edu; s=google-2021; t=1710902546; x=1711507346; darn=kvack.org; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=DIGL+dvsKsYG7Tx7310j/b/qOHwOOB9JaG0dOT6QmVU=; b=Oy3gckHlkIklzRmaLI9e0KRgsJiYxXX7rQP6gHCtZVlyDw7S6DQ9P3hugKXR57ow2B 9pweHVtI1VASkEVvbWjx9ehAyP9AxMqgODj5jSW8DrNXJJEP0iTgXWXuipmEeg4uV787 TnemiJxT5lMcQ8WemyO2qc7bYD7jciCTZVXxlV474Fdl7fa6J0EofJHqiFXHqhz7lddt xBeplZ0LuSGNiXzYKsJMWaxeC37bxrRy+ed1qRHA7r2FQ/clHqRijQ+PA6hUBgo4CLIL wzXYtDI402ul/1sT+HCmT+uE8zZWzOEAaQ4DBxRNSQPWWiqJhD2O1YHfY3g32TJ40LTU iMQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710902546; x=1711507346; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=DIGL+dvsKsYG7Tx7310j/b/qOHwOOB9JaG0dOT6QmVU=; b=HwMzuLhP3F6c33xC2F1Kqc1BrPLv/gDaOSSwheSEOcnAXNNutoE2DbqP8J7H5Er56m JlIReA3gIRlrJ9pk/zm72ZXk0uyCZk8gIzeo10QlljjYW7Mz23HR3FWAOc3+VijiQden 5MBTT4uTVUepAzPLbtfNu0qWN5LhF3Dc2MqtmbnTXHNHK/tc66JMNlQah7VOkic2BxDE a32RPLQXm7plmhj3yreGFtcUyefAuJe2/7mSfjiSLlAiNhjNNJG1hp71aIPzvm3bUTwk TNAOlPyWMhnzfQU7oU27izHsFmbnuRwm+3yx/k9mSHOLRLpfWPxcWaBFdNb9rffcYWiL OCSg== X-Gm-Message-State: AOJu0YwRbgI/1FpTkwgLZstC0s09fG6zH5lH9X5GEhX/cqcCliNOV895 nnesKQDRfbg4JaaHLt9MRHlmv3YZ5R5o72cxgQGAearlOGBeO/qedXSOGpKlvofWmu7rwR5Jstt DWSUmblcKtTCVZL3WVTtN4nP0TEIA/9SmZcuK8qUFrvl8gzdcdcMPg4ZiY6MvopDXZW4a7WizXS 06LJSo5vi42QaNkpx8WJZKGaDHysR823dZemw= X-Google-Smtp-Source: AGHT+IF1l0N2egM3aSC98LzaXNROU1+O+6Y4xqmw+dsS00Fx32Wnx7e/F2IaRaJEP8IIHWZ1DYSFqw== X-Received: by 2002:a0c:dc14:0:b0:696:22ae:eb67 with SMTP id s20-20020a0cdc14000000b0069622aeeb67mr4027527qvk.33.1710902545749; Tue, 19 Mar 2024 19:42:25 -0700 (PDT) Received: from localhost (pool-74-98-221-57.pitbpa.fios.verizon.net. [74.98.221.57]) by smtp.gmail.com with UTF8SMTPSA id g15-20020a0562140acf00b0069150ebcc30sm7204402qvi.76.2024.03.19.19.42.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 19 Mar 2024 19:42:25 -0700 (PDT) From: kaiyang2@cs.cmu.edu To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Kaiyang Zhao , hannes@cmpxchg.org, ziy@nvidia.com, dskarlat@cs.cmu.edu Subject: [RFC PATCH 7/7] exports the number of pages scanned on behalf of movable/unmovable allocations Date: Wed, 20 Mar 2024 02:42:18 +0000 Message-Id: <20240320024218.203491-8-kaiyang2@cs.cmu.edu> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240320024218.203491-1-kaiyang2@cs.cmu.edu> References: <20240320024218.203491-1-kaiyang2@cs.cmu.edu> Reply-To: Kaiyang Zhao MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: F0CA21A0009 X-Stat-Signature: e5cn314sa5yowkzof4qtarztuozm3jz9 X-Rspam-User: X-HE-Tag: 1710902546-989719 X-HE-Meta: U2FsdGVkX1/pIRxn2I3xZdsdby5bgtJ6j6mgXe2kBTJyTF/EbE47pKM1qxnsyppf3nhH3YuM+H4OMJN+A2yO1gTbOASljRSqPdxr2VydBaS0sni4KM6p/CFUpvnIGiK1gtrggnnEKn76NLVXYX2b1mhnjDsOMD9m58HQc8eROzUJW5KWognvodr0/2nwAgOx1qRjE4IIh6X5QRdkKnRBEySlEuYQPcPwGljvcBywLf1ko7eoyY4BlorEcK09qEYIHnzQZOD2l7JR+l44pSm74NtQ0SHiSMRnwqTa+IUtLT0+z+iiozkqrGRVXYIbpEg1Dc0uEpTLcBgzIKbgyj26sU/OaJf0H8l5Vu6TD7yM6mekdWfJdKfYEJmIoX6pi3zRobfDLUU4CHfYvXWPhSIvy9mqp85LaIj/sLH132qub7BxAOFTYVDVlQwGKcgD49+X9L6iT9UsITGuo9hkI5hm1ppW8ywk6e6R+EeyepmzQK++x6xgF9jUzPPcrHjsOC69DIJoOoo0I4K0Q30rXP855yDnbyrvjrtU8q1NMCikAei+PTRpIIX0SPMfVPM6ZI0U+bnOb1yNoix3WPAq1R0oOHGbVmJE5KsHG3fWV0f9weA/JZKJPnOq4DS1LDO9i0aPPl6mUGNcT473QYWdyQfth8dAoMUbhKA83M4voEOYI1Ax5fJRH0EWAuIPjNEJE20w771x/FvuPWs2aOkbE+w+tKmyYQ06oIHlBJhY4kKhRvtFoRamACc3h3WV5bw3pVWfn4uqiYC2zNxA2U93UQXE0KDDzm3yrNrXL0LZQIvyvQ+84qWXJhAofxyMMmZHY/cO3r3eF7XLeGfzYQeQ0GgEzMfCb2ZfKaAEfmaeEirNvVgK/WItWl0VWPLhwIg+hhOzO+l+WpomZCTwoeVbNL49MBoITV2nWLg1+J3ImSynE0/si2J0uF1VC82tb/Cud7digtq9LPmY25gQaKk5Pcs K66hGedX VpqBWkoiyiTXH0HwNVQCO5db/pYBxVNo9x2mViyQIiANY6n+eFXQlJqQFod8W/ikzhCvDP5VPDvVyU3rpUBUlYtNoo9aiH3lv5EOkf7Owxa8Nzk8vrljNL7iBYcioPNekLFLNfT4fVtW+MX13SX3c1GOj0fsRvQzaRDJH0wZ0EDVFMCj2xTO8/RT/NHtRP9I7Pgnn4rnqtwMSvDf0dec7fGkckAJ54PKP6iGtbFHCxnFOBIcqhRWhGqbtnUjpmPZqtKhQOdexyAquRwQ/FjlukJoi2pshSqcHJObZmGc0402SgPm6nYbmPiQSrBzHeMrXfLj9 X-Bogosity: Ham, tests=bogofilter, spamicity=0.002132, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Kaiyang Zhao exports the number of pages scanned on behalf of movable/unmovable allocations in vmstat Signed-off-by: Kaiyang Zhao --- include/linux/vm_event_item.h | 2 ++ mm/vmscan.c | 11 +++++++++++ mm/vmstat.c | 2 ++ 3 files changed, 15 insertions(+) diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h index c9183117c8f7..dcfff56c6d29 100644 --- a/include/linux/vm_event_item.h +++ b/include/linux/vm_event_item.h @@ -50,6 +50,8 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, PGSCAN_DIRECT_THROTTLE, PGSCAN_ANON, PGSCAN_FILE, + PGSCAN_MOVABLE, /* number of pages scanned on behalf of a movable allocation */ + PGSCAN_UNMOVABLE, PGSTEAL_ANON, PGSTEAL_FILE, #ifdef CONFIG_NUMA diff --git a/mm/vmscan.c b/mm/vmscan.c index ed0f47e2e810..4eadf0254918 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -904,6 +904,12 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, cond_resched(); } + /* Arbitrarily consider 16 pages scanned */ + if (is_migrate_movable(gfp_migratetype(shrinkctl->gfp_mask))) + count_vm_events(PGSCAN_MOVABLE, 16); + else + count_vm_events(PGSCAN_UNMOVABLE, 16); + /* * The deferred work is increased by any new work (delta) that wasn't * done, decreased by old deferred work that was done now. @@ -2580,6 +2586,11 @@ static unsigned long shrink_inactive_list(unsigned long nr_to_scan, __count_memcg_events(lruvec_memcg(lruvec), item, nr_scanned); __count_vm_events(PGSCAN_ANON + file, nr_scanned); + if (is_migrate_movable(gfp_migratetype(sc->gfp_mask))) + __count_vm_events(PGSCAN_MOVABLE, nr_scanned); + else + __count_vm_events(PGSCAN_UNMOVABLE, nr_scanned); + spin_unlock_irq(&lruvec->lru_lock); if (nr_taken == 0) diff --git a/mm/vmstat.c b/mm/vmstat.c index 444740605f2f..56062d53a36c 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -1281,6 +1281,8 @@ const char * const vmstat_text[] = { "pgscan_direct_throttle", "pgscan_anon", "pgscan_file", + "pgscan_by_movable", + "pgscan_by_unmovable", "pgsteal_anon", "pgsteal_file",