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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 95573C07D5B for ; Mon, 27 Nov 2023 19:37:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BD5BB6B02BE; Mon, 27 Nov 2023 14:37:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B81F56B02BF; Mon, 27 Nov 2023 14:37:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A23016B02C4; Mon, 27 Nov 2023 14:37:11 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 8DD0F6B02BE for ; Mon, 27 Nov 2023 14:37:11 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 4F5C61406D7 for ; Mon, 27 Nov 2023 19:37:11 +0000 (UTC) X-FDA: 81504742662.24.C06A9F7 Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) by imf16.hostedemail.com (Postfix) with ESMTP id 7685118002A for ; Mon, 27 Nov 2023 19:37:09 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dhd2pIPZ; spf=pass (imf16.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.210.176 as permitted sender) smtp.mailfrom=nphamcs@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701113829; h=from:from:sender: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=5O5wu9Cq/51IfGIxfcOGm2UEiIvcNVg0blWRA633/+k=; b=8MmY7PYELTWBG3ePiS9wjLO5LrcnRwGhXrejhqODRT9U9+q49rB9+HsUwEcQYQW3TDgHKJ WLXZ7DWHMbZF6VBm464bPHxXfFRzNPslNK20Zy7OKrdO3XZ9xQRc88/spGUfrjVfJDyz+a aZq/tEf2M1yDQSu558JCXw00K4uxp0o= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701113829; a=rsa-sha256; cv=none; b=290SDZ/uDDZwRQCVW5qhJUjkwLJdEc+VgxozGcCiyrJ8HvSHEoxwZ975ORgrUevmC9wHnr ZEdMw6uIHC+2JWEZOwDw4sBOTmY/2K0ZXkqZ5Qt3WR0w6VBbP7F/hkPnhkUw3xofbCZ4j9 o09rqIHh0B/nDz/BmJo2uvAqzWBfCN4= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dhd2pIPZ; spf=pass (imf16.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.210.176 as permitted sender) smtp.mailfrom=nphamcs@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-6cbe5b6ec62so3599035b3a.1 for ; Mon, 27 Nov 2023 11:37:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701113828; x=1701718628; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5O5wu9Cq/51IfGIxfcOGm2UEiIvcNVg0blWRA633/+k=; b=dhd2pIPZXEzxw5GXyaD0Yp8oSNyddp9AvB/jIr2Oq/GLyZXY3IaBs2JHvIpKerid/D DcsqZgtn2W1N/Ip0S553BHDS9T5VpvhsfkxU4kXZDh+XAcrzcwU2ZACBWx/zZT5BfHVA XmuBNiU7jthHrALg3AMYPTL5wKj6DfG84DR8vKinU3WbAqvajrJogn+srXFXJ0TT6GkV 5s/zezmj0nlb020+vLS4htcCdRWIe9tqMsZVCCUuTqtv1RQt6Mofg4WV6J/7AEsjpHBn jQmGaMUUmXl4n2AKCGmbd4HpvBlM03FNUQqmRsOB7oPcLR4R+B+8OWp/hRiukM4ynG2G 2gCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701113828; x=1701718628; h=content-transfer-encoding:mime-version: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=5O5wu9Cq/51IfGIxfcOGm2UEiIvcNVg0blWRA633/+k=; b=NRp+1ROCTQ2pSCoLCf/hGEM2yHf3+zAUyGDnu4rrl7fZ1lVn8LRyHfx58+hSPyuCPa C2HP7IFJg/F5CL1cjD12XIkuCLqDHyVZB54rSxfM05Up1yOiDqlqIH7lU8P3LFh803LO G9SacPT5AslzsfbH0Ah5oP50X9oPffjk8v856yu2xI46Uyg/DfYD/woXHO3TAVKRYA1d yaWyREcF8frlHDf49aGEM1sIxIbMpxe8r6TyqpS2aYeIXqIjvQ06baqGn7k70VaTasym bKQDx7YHKvMiiXczYKc4hgvAA8l2P7ssPeHNVjPOyAV59/WW23x5djwtER173t5lE1y2 1TVQ== X-Gm-Message-State: AOJu0Yz193Cm6BoMVORTOINrteHDeo8GuD7RJ/Zl716enLnkszXxt2X5 Y+OCkWKZ9WF09sQt8OFv9Yc= X-Google-Smtp-Source: AGHT+IEwXPRn/KjUwT82GUAwUvlbaVFt6ZyMPdi94ntaKv5CHgpItTfrPBYXTZevCB0RopFyqvfLqw== X-Received: by 2002:a05:6a21:19a:b0:18c:ab4:f6c9 with SMTP id le26-20020a056a21019a00b0018c0ab4f6c9mr12929291pzb.56.1701113828278; Mon, 27 Nov 2023 11:37:08 -0800 (PST) Received: from localhost (fwdproxy-prn-023.fbsv.net. [2a03:2880:ff:17::face:b00c]) by smtp.gmail.com with ESMTPSA id x18-20020aa793b2000000b00688435a9915sm7569191pff.189.2023.11.27.11.37.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 11:37:07 -0800 (PST) From: Nhat Pham To: akpm@linux-foundation.org Cc: hannes@cmpxchg.org, cerasuolodomenico@gmail.com, yosryahmed@google.com, sjenning@redhat.com, ddstreet@ieee.org, vitaly.wool@konsulko.com, mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com, muchun.song@linux.dev, chrisl@kernel.org, linux-mm@kvack.org, kernel-team@meta.com, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, shuah@kernel.org Subject: [PATCH v6 4/6] mm: memcg: add per-memcg zswap writeback stat Date: Mon, 27 Nov 2023 11:37:01 -0800 Message-Id: <20231127193703.1980089-5-nphamcs@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231127193703.1980089-1-nphamcs@gmail.com> References: <20231127193703.1980089-1-nphamcs@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 7685118002A X-Rspam-User: X-Stat-Signature: rk3j41sz7sayxk44x14kpxkmc3raprna X-Rspamd-Server: rspam03 X-HE-Tag: 1701113829-461684 X-HE-Meta: U2FsdGVkX1+RV7Fw0sHwhd0W0+peNNMjVXxX42Ie5a0/JRwG4nbNFFkntjY07mduYMUhhdoKOI0X8vs+MzzSuMff9zg2dEYabzwt+ivH3L6S++cV71cJFF4G1EY9I8tpCuOJWydoT7uk+PisfugsiWHyER4X1o/h2rSUqOvbHvGTCCfz4a3pJVCefQpXOwpCRRGdki/QiJXeq/D5YHHEz4evzFUfEeKE5K8NavxzgrSoMqcQcN2NsymbbRaLn+0kTwo3TthACqcm84eNLVhzmmg5YZNOZ7T9dnpU/g7OY0jVpEdYir0snUGOIMNG0KwA5Ncy1I7dyU3tP2eXN62sCja8z4yCJBoc8sMp1UsVQFaaDmRDDqXJxVHEEUljtnOS/2TsQluNE5uSQQyWdqpeegunzzoSDDLyMcyf4FReI5WZvqkhWtf8/mI2MJQUgLM91jOc8ytrDFDk2Riq+D6gu9FJaaS2ydspuH28aHvxclSk0ztU9GEYuleT4J5g72zZN/BbvciupCb+IjR368NhEEePRO7AjXCWCUJn7R97ORp/u1qGdj89xD0Ea8ypF7+XAnc2A80/D7/2VSc8a+To0R7NJX0UUSIITmGhAkAeFicgr9UYWgrurdjwUNXWlc9xyG/NB2Rwh7/3K99otyDQZhGf0Hmy7KGF5+2Ge/ddtpy886wsVQLzXbgmc38G4oXK+CKCGsq/LnYzSQASemJMsJqnayt5NLoFmzoUPUxIs34Y7E83x9ywkIf7Z7UvT3Zna554lPxvX2QSVCXzu8+ZYoOIJY3d4XoltUSZFZr/tste4hD92IGxvKJL1QMpZkq78uagylHH4cJt7r1sY9hBITHKbtYxZZdNnTjGUxIQayAZ7k00aC8P6PXitaBwcFSXlMxzI1bsJVZ0RQrBCZlnnN2YgrZx4hV5YEW44YVIPKn1H1c1fHKDE0Zn/fsy/w5C+fPAiQyYXREX2++reL5 lNs1o3Jk 9Fti13S/B/ir08CsfkOticGiedc//dM9C84V+KUFTMlk50+EklZu/+HxjCqdK4R2NwATxjc4FTcgymGN78DYSc/ebAGHnXmZHL7s72IZN2mnfGLpKKunaa6KHQHniPKYWoa1kgFaEffvHS03hRN3J2sNMhrejSmX01VsW3Dr69TNc1IDnNA37GspLbHisWnxVsI07wRWb/hA9A5v/xqoSN4BxdNqMu3U+kqWjMYOZm9J4/4qyR6f7e0J17SBETiyS5NOq4Mg5lDF43/etFd9RMHmjAgwQe6CrGWyR8oxgDFLWvL7vDUm3h0+Pn8xZiBM7NPtF4DQQyB6ynxEXCQ1opDuifPvx0YIQdZuapv6ebV1ENviCYjH4pioHgT/AqW9eejO3PfORmS9pb9ecmslq6+QguuCt8QU1TD20LWJo7P/Zjsa3gls38nLHVEXv+ql3TPR8SRgu62miyqWyqYFo2W+FWQ== 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: List-Subscribe: List-Unsubscribe: From: Domenico Cerasuolo Since zswap now writes back pages from memcg-specific LRUs, we now need a new stat to show writebacks count for each memcg. Suggested-by: Nhat Pham Signed-off-by: Domenico Cerasuolo Signed-off-by: Nhat Pham --- include/linux/vm_event_item.h | 1 + mm/memcontrol.c | 1 + mm/vmstat.c | 1 + mm/zswap.c | 3 +++ 4 files changed, 6 insertions(+) diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h index d1b847502f09..f4569ad98edf 100644 --- a/include/linux/vm_event_item.h +++ b/include/linux/vm_event_item.h @@ -142,6 +142,7 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, #ifdef CONFIG_ZSWAP ZSWPIN, ZSWPOUT, + ZSWP_WB, #endif #ifdef CONFIG_X86 DIRECT_MAP_LEVEL2_SPLIT, diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 0399aec8c0e3..a82f9c695c6c 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -703,6 +703,7 @@ static const unsigned int memcg_vm_event_stat[] = { #if defined(CONFIG_MEMCG_KMEM) && defined(CONFIG_ZSWAP) ZSWPIN, ZSWPOUT, + ZSWP_WB, #endif #ifdef CONFIG_TRANSPARENT_HUGEPAGE THP_FAULT_ALLOC, diff --git a/mm/vmstat.c b/mm/vmstat.c index afa5a38fcc9c..2249f85e4a87 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -1401,6 +1401,7 @@ const char * const vmstat_text[] = { #ifdef CONFIG_ZSWAP "zswpin", "zswpout", + "zswp_wb", #endif #ifdef CONFIG_X86 "direct_map_level2_splits", diff --git a/mm/zswap.c b/mm/zswap.c index e441cbcab9a9..9f5142524d48 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -754,6 +754,9 @@ static enum lru_status shrink_memcg_cb(struct list_head *item, struct list_lru_o } zswap_written_back_pages++; + if (entry->objcg) + count_objcg_event(entry->objcg, ZSWP_WB); + /* * Writeback started successfully, the page now belongs to the * swapcache. Drop the entry from zswap - unless invalidate already -- 2.34.1