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 3B49AD0EE30 for ; Fri, 11 Oct 2024 20:02:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C31F96B00B9; Fri, 11 Oct 2024 16:01:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BE13E6B00B8; Fri, 11 Oct 2024 16:01:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A81FC6B00B9; Fri, 11 Oct 2024 16:01:59 -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 87D5B6B00B7 for ; Fri, 11 Oct 2024 16:01:59 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 3D130A17C6 for ; Fri, 11 Oct 2024 20:01:50 +0000 (UTC) X-FDA: 82662392274.13.E9751F8 Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174]) by imf20.hostedemail.com (Postfix) with ESMTP id 218491C0018 for ; Fri, 11 Oct 2024 20:01:54 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Zr1jiZx2; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf20.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728676804; a=rsa-sha256; cv=none; b=6YmtPHUNprjV5jWhDTSWxrLBoPlGJOBa83wvK5FJIr6w0SQOj/dEe00YolHQaOMlDZXudL WUDyFfv+gUgkkffL84c5UHV1FVRL3etNfJvqNtvlrjKRXWSUDCjiuDClHb1/XMRkFQWpUC ThuuMi+7DBV8ukAdDBYx6zh2yR0mltE= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Zr1jiZx2; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf20.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728676804; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=rFTSYYgQTrjqFPb7GzXc8fohdEBdKKLzVr+J+gh04vg=; b=DiV3zB0aUaab8utE0oXO51STgQ/qKIt4FtGoQGqSrKhG7GsaZNuLLOPFV+VDx5phn8xyD/ ZQUhbkh3XwxiLrR7V+i6lq50hKVpGaaq6s5JCnE4aORCq8scOgMpLCgfg9V/tiBXFA0vv3 hIS+yl5PKKUyKy1g6+7U9RYlgGbYCg4= Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-6e30ee6788dso22834317b3.2 for ; Fri, 11 Oct 2024 13:01:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1728676916; x=1729281716; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=rFTSYYgQTrjqFPb7GzXc8fohdEBdKKLzVr+J+gh04vg=; b=Zr1jiZx2fvCV9kSuudDc6QzdcCBwT+pyzir+2sXrJjBixWLEyMbIlxqs5HQKcu55ux IbB90X3FXChTetbVwcJnPKaop1CYl9Qsx4Pxf4i0Dz6ReN346n+pmZEivhQR+v85eLVQ nhyuvzh21Ob6vRLERpohkNTihr5cFjETn53NEgjM1hYxXD6LHx1Ihmsw83G7ck/Y3FIZ O9WPiSERd0qsYkGr2eDjNQNeFUAGGtlXSP8m3Z+4Vf3Wb/wB9IRK2uB3v3OH8cDhFl9M XQkl1l3h7oWSOZdZcBrmW0PkPlZPS8uK5II2B2gCLkRovXWJNPJB2YRtjOyjZZ1g069Y BkEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728676916; x=1729281716; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rFTSYYgQTrjqFPb7GzXc8fohdEBdKKLzVr+J+gh04vg=; b=me8AWpSYtEH9Xo29banHuRvl3AcU0LRFAGINpR70cLulCpqMESJHjQmlkXMSA3AGqa gX1J7A16HOdESFh+Te9Ccl8Wzuv1MWSxD8OAOJJX+VuuLi2x98sptPkKg9uvRzn8JXxH I2KS5LX87WbVZBf+JV4E8+mqL52Jn3TAjfI8ONcA7Z3yfCViB4Zy32yFVjNhXAuzBMPd LKACX2WNNYxh+GbnuQFGv3wrCRP4gvOauOXTL/YIr3Bl0KsZl+OnqI9wktGRraCl1ncI uLTtzfkRTI1XgX3bVP79/4tLHQj6+y9ppK7UtWmK/LlAfIk0xe4eOYULgSboMvEXqQHK bsIw== X-Gm-Message-State: AOJu0YyinDUVvDoJkh/XnLQeBoxV9r/AOwpHG0FL4ZxsEiFs8iBgbdVp 1Wchs1zvh3MRCHVVkegnGMXTKrwurCRJEFuEmlsqGWIi69bZr3jDwemQ6OoAsxicqZL8l4xbqJp 4CcE2qazdfP/043jhUF1y7l4rTuk= X-Google-Smtp-Source: AGHT+IG/JCerRgXDMRDql3rEMdWpBm1gETivW5Hg7kglkNxGoToDxKLr95vvW0A1tkFPsxczILpsmiHG1AtLwVT2fvU= X-Received: by 2002:a05:690c:670e:b0:6e2:636:d9ee with SMTP id 00721157ae682-6e3477bae02mr33006157b3.9.1728676916301; Fri, 11 Oct 2024 13:01:56 -0700 (PDT) MIME-Version: 1.0 References: <20240913084453.3605621-1-jingxiangzeng.cas@gmail.com> In-Reply-To: <20240913084453.3605621-1-jingxiangzeng.cas@gmail.com> From: Nhat Pham Date: Fri, 11 Oct 2024 16:01:45 -0400 Message-ID: Subject: Re: [PATCH V2] mm/memcontrol: add per-memcg pgpgin/pswpin counter To: Jingxiang Zeng Cc: linux-mm@kvack.org, akpm@linux-foundation.org, cgroups@vger.kernel.org, hannes@cmpxchg.org, linuszeng@tencent.com, linux-kernel@vger.kernel.org, mhocko@kernel.org, muchun.song@linux.dev, roman.gushchin@linux.dev, shakeel.butt@linux.dev, yosryahmed@google.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 218491C0018 X-Stat-Signature: 8g518r4hnxt19j3ncnwees4epo9kaxe4 X-Rspam-User: X-HE-Tag: 1728676913-735562 X-HE-Meta: U2FsdGVkX18H0n3gt0URbN9gus3+oxbLCaTEGH8QoV9pBnugqc6mQL5LY8VFw2tJBMk0322SEavNucVwJABPT1y0XETsbycAAloq2aOAmJaRAjoUIwoUq6r1Vkv4RJEPI/RumTIcGO2VhyjeJJpLRmtODpwIqzLb5RDLiUi35RfRKZE2KqR0+PSgvb3x21DhFN2y7InjrwTUruWnu6pTt2UwDyajb1RdB4zsrdGTvWN3J7wY3E/DlRqOVn8rL4i0B8Ay2vOpaM9eVuHPxLFncL6SVccpnuc9z09pKtMreAc4nCrEPfMGBYqm36gCMVLD1bhn00M1/UIY248wVDWafwl8EISardOP3uI6ROVjyda/PJswjFl9e2kC9DM8FwGgfPQREB4hdCM4hl5EdK5UFm/ex+HKJYmifLWQQChzlnyXUajkQnnYQXpZGYHA3gC2Hs6Ky9OJNlS1XFkbWyhfSaXP/kzaqyI9Whe6WaggEdlwW5AvZ5OEEG68A7sAh1PVVtJmK0O8q+wyV0iGwfr47JHQfrv58v2GvGKdimRNU+4zdQ4D65lKB6sJiyFCGh0VFCVeyBucydv2g/piWtMWBnSawWOU09JDGtlzn658kpYPTntVy58xIpvs2Mlv3oUMKJhC0qja+IAsKc0r+3SJ745g01CfAZhmyz0SGoyQsZWB+wPYHqHRIOZGyWsGJrytkEowHDTpBjl+ywxz05J0TjX1O/AnB+5MrppQ5tYhXdRzeaq32hLnUxc3ZA30hRNyxHhezx9i0FxhccLxvYIzOabnv/LSOmJv35Xu1zhq4yQKcBq89Oti3GEFYL8qEdn3PJK+V+jmoHlzOG0ZPSEsL1RtLIeMV96e8wzs4t/DWJ2KXSxC2U7vWwtDGw5+8a2HYW+XRgKZgYQ6KpPjC8DOjVmbwgYVnO3H6fx+9CME9lJAxKzVNaU85lOcggei1uNvGkjE3s36GBp/UY602Nx mgOgCRSa pkT6F0f9ES2gC541KszMMegdBMiojOwAWLdVJpbROppzkRlre8Bx4Gu3OZYHde8FTllT1CkuO/1yiwhzP1fP4uv6IkkT5MGLJI+8ZLmu9/4crJp07gHVVg5oNBwv+WvnGXXD7tur2oX8e/M+l4ez4+Id+TDOJDh46ywZdygNddFVhPUt9hTgnYs4HgLRUaJZsZmUS0VrYRCzn+B3jJc8okoMcOmJDu1H3pddelEHmtq+6k1zr9ppZnhT13zfDoywLQ4dxprwca1ttSnfvvg+ljyN42ytSRxVxFnxetG8mmZ1q/AnhWRiw3sWvEHCld/GQGBO5eruP57aPThFdoxa60Q4Tjoj5NU0Fw+ZzSgWfbmXMwVNxZZzX87rDPnE/cN+jl3NK67fgAQqDCTwFlF4sBPOGl8q8VfEpENC/wIvjnAbKu0nzSQAzZA/jHcm22h6AMhxYJK80iCIGohfgheuQZ4kznv0MMc3HeNpD/vAb3fRdyvK+Z/FngpzfX3DRqXOR0smr93kmzXnHXsvfEqUsYdW7K1HWbX65u3CWywqmreQiYMA6Xzg/LfBTt8b/XsxIrSsrCWI+jb6hX8w= 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: On Fri, Sep 13, 2024 at 8:21=E2=80=AFAM Jingxiang Zeng wrote: > > From: Jingxiang Zeng > > In proactive memory reclamation scenarios, it is necessary to estimate th= e > pswpin and pswpout metrics of the cgroup to determine whether to continue > reclaiming anonymous pages in the current batch. This patch will collect > these metrics and expose them. +1 - this is also useful for zswap shrinker enablement, after which an anon page can be loaded back in either from swap or zswap. Differentiating these two situations helps a lot with performance regression diagnostics. We have host level metrics, but they become less useful when we combine workloads with different characteristics in the same host. > > Link: https://lkml.kernel.org/r/20240830082244.156923-1-jingxiangzeng.cas= @gmail.com > Signed-off-by: Jingxiang Zeng > Cc: Johannes Weiner > Cc: Michal Hocko > Cc: Muchun Song > Cc: Roman Gushchin > Cc: Shakeel Butt > Signed-off-by: Andrew Morton > --- > mm/memcontrol.c | 2 ++ > mm/page_io.c | 4 ++++ > 2 files changed, 6 insertions(+) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index 6efbfc9399d0..dbc1d43a5c4c 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -418,6 +418,8 @@ static const unsigned int memcg_vm_event_stat[] =3D { > PGPGIN, > PGPGOUT, > #endif > + PSWPIN, > + PSWPOUT, > PGSCAN_KSWAPD, > PGSCAN_DIRECT, > PGSCAN_KHUGEPAGED, > diff --git a/mm/page_io.c b/mm/page_io.c > index b6f1519d63b0..4bc77d1c6bfa 100644 > --- a/mm/page_io.c > +++ b/mm/page_io.c > @@ -310,6 +310,7 @@ static inline void count_swpout_vm_event(struct folio= *folio) > } > count_mthp_stat(folio_order(folio), MTHP_STAT_SWPOUT); > #endif > + count_memcg_folio_events(folio, PSWPOUT, folio_nr_pages(folio)); > count_vm_events(PSWPOUT, folio_nr_pages(folio)); > } > > @@ -505,6 +506,7 @@ static void sio_read_complete(struct kiocb *iocb, lon= g ret) > for (p =3D 0; p < sio->pages; p++) { > struct folio *folio =3D page_folio(sio->bvec[p].b= v_page); > > + count_memcg_folio_events(folio, PSWPIN, folio_nr_= pages(folio)); > folio_mark_uptodate(folio); > folio_unlock(folio); > } > @@ -588,6 +590,7 @@ static void swap_read_folio_bdev_sync(struct folio *f= olio, > * attempt to access it in the page fault retry time check. > */ > get_task_struct(current); > + count_memcg_folio_events(folio, PSWPIN, folio_nr_pages(folio)); > count_vm_event(PSWPIN); > submit_bio_wait(&bio); > __end_swap_bio_read(&bio); > @@ -603,6 +606,7 @@ static void swap_read_folio_bdev_async(struct folio *= folio, > bio->bi_iter.bi_sector =3D swap_folio_sector(folio); > bio->bi_end_io =3D end_swap_bio_read; > bio_add_folio_nofail(bio, folio, folio_size(folio), 0); > + count_memcg_folio_events(folio, PSWPIN, folio_nr_pages(folio)); > count_vm_event(PSWPIN); Not related to this patch, but why does the global stats not take into account large folios here... `count_vm_event(PSWPIN);`? Acked-by: Nhat Pham