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 DC08FCF9C68 for ; Fri, 20 Sep 2024 22:58:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0FF506B007B; Fri, 20 Sep 2024 18:58:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 088E96B0082; Fri, 20 Sep 2024 18:58:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E448C6B0085; Fri, 20 Sep 2024 18:58:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id C8D976B007B for ; Fri, 20 Sep 2024 18:58:13 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 55CF51A06B6 for ; Fri, 20 Sep 2024 22:58:13 +0000 (UTC) X-FDA: 82586631666.13.B79FA0B Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) by imf18.hostedemail.com (Postfix) with ESMTP id 7B6E01C0006 for ; Fri, 20 Sep 2024 22:58:11 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=rISkrkFs; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf18.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726873079; a=rsa-sha256; cv=none; b=IKslyxF4qL5C9s/I6h5XJ2Kn0eUVxHHMHZc7Sn3stsRR9HB5bSetZ11EZDNiwESSwWbiTw Oug8MVHn11FQKKSHTIeg3goledQyZ4dy89KzRNWgvT7JWLa372exhaVgbiAlqqN2rPq6n4 YCSuHzuUED034Im20nNdrQSJq1aqsfg= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=rISkrkFs; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf18.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726873079; 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=6mq/voqlf4mL8U2+m8aQ6n/5tyrYP8g1KxZiW0+DAj0=; b=pK5xXlGFGSR3vsopD+McaSDcZFOSR7u/3ZS5svtYOeIHtoGcvMY2vL9q6ocplI1CsKIQqM yC0RM65bTfemZirNvAHpZV2Jz5BUSdbL+9nPg+yD7fsvrh9XGucLbAX4pQn8wqMelLdaQy elVZBjNNMrr3c2uZY0rit9l+fFpNkbE= Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-a8d51a7d6f5so338488966b.2 for ; Fri, 20 Sep 2024 15:58:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1726873090; x=1727477890; 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=6mq/voqlf4mL8U2+m8aQ6n/5tyrYP8g1KxZiW0+DAj0=; b=rISkrkFsGQ1YEOEFZnoJ57MfDPcY+DcgSOglnpWbiatJEUiZ4tQkz+hJ2WJP2TxloN Nw2VaoWq9/K4RuSn9CjkJ6+t2XJMeOW/TtYujpA5U09bqDa/xRHTCGNkOIanzn57djv/ jlRr1UgXd9qVQ1Fk35I4iu94ULelVPmvHBT57ZAdvKS5XayB2iFleyuHPYIidQhPgw7d 2A/VfDTSkt9cv9eMltEoJ0I7p1Mi0t5Eg2iXaDGF27Viv/mTd+tD4u7JQwR4wSb0rBqJ LJVmIIfzWYyUYR7Hjmv9AIOcDAn+XrW/owel69iWnrHmoDSmMfz0iAaUDITk2GA+JDsz sNCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726873090; x=1727477890; 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=6mq/voqlf4mL8U2+m8aQ6n/5tyrYP8g1KxZiW0+DAj0=; b=nRtHKxXa36oFU5R4kKBcXOibF748+tDhbh+7RNRgC9rsjOxqt2O9yaiYrLseT+H6IM kT206KPm3WHUYkj6TnxlAWsRXzJR5QtyZvAIEWK3ruGiAE+hnn3wdmQeHufIS4gB1AUi fsDE7z9FHE1M7XXvyx2SFl5tdm1eU0Wf5aYeFf0I7BxC8bj/uC9yCeg/QIpJeEslHJEB JBfkI5GyYVpCC+YYvMiDyBxT2PurNE8dNrLKjkR34uasx8hMVSH9Y7RphhnzVxv/LrP2 jtwOiSuSmTPLI1kKWg+O//4aeNq0lBro2iYoMNlhatdtZB8mx+7eJfzi3iAWcaDaQyGT CaWg== X-Forwarded-Encrypted: i=1; AJvYcCWvmosLeeVBkX7Jpfb2eOZYsBdGFgtvYdW9Ry39gKBILsjcXAr6XDkwvJLzN1xGx9pdY2jPBe2TSQ==@kvack.org X-Gm-Message-State: AOJu0YxdH+0Mq61IVkptcpvXX5aasoodYuDNztPHVPO92ePTKBVipq+0 64PZSJYp735d0eh3NIuu7ukpU33UBH72qyq/FahAvvJ8AampZdqfXHYGV00xmwgh879YrPfy5Vx qljcjLqxNoahBzpUimB/6WRK9P01aznVPtfkRMMD7H7XTqwydvFVI X-Google-Smtp-Source: AGHT+IFgOADyf7UwM0IofIFAmjZTYO18vRoUZkATcenZKxqoRQbjdfO9DfNK1fcrQLf/7R1cAkotJ4ynbbCIaOA9TG0= X-Received: by 2002:a17:906:6a24:b0:a8a:9207:c4c1 with SMTP id a640c23a62f3a-a90d5167dafmr409646966b.58.1726873089625; Fri, 20 Sep 2024 15:58:09 -0700 (PDT) MIME-Version: 1.0 References: <20240829212705.6714-1-kanchana.p.sridhar@intel.com> <20240829212705.6714-4-kanchana.p.sridhar@intel.com> In-Reply-To: <20240829212705.6714-4-kanchana.p.sridhar@intel.com> From: Yosry Ahmed Date: Fri, 20 Sep 2024 15:57:31 -0700 Message-ID: Subject: Re: [PATCH v6 3/3] mm: swap: Count successful mTHP ZSWAP stores in sysfs mTHP zswpout stats. To: Kanchana P Sridhar Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, hannes@cmpxchg.org, nphamcs@gmail.com, chengming.zhou@linux.dev, usamaarif642@gmail.com, ryan.roberts@arm.com, ying.huang@intel.com, 21cnbao@gmail.com, akpm@linux-foundation.org, nanhai.zou@intel.com, wajdi.k.feghali@intel.com, vinodh.gopal@intel.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: k85mzui5r1bnw3mf4qp5nhizt61kbx58 X-Rspamd-Queue-Id: 7B6E01C0006 X-Rspamd-Server: rspam02 X-HE-Tag: 1726873091-631750 X-HE-Meta: U2FsdGVkX18dweudd3ZHMkU/pifqNxBmPAmszTUCyo6QqBW8+o0iEwLJwA3OnZ1f8BUP5VISK31TPC2YdyYEd4284D8gYmcuVwP5wctc6ZrRLR2Bkoj/FEFUYL+NnOOXEzqFwN98G2u1z7QUHtpISbcAsN7UjhTiDd1Emm3wK+0+7F2toBlabUJUa80Euc6unXphEPJadghQuMhZuFcwwmWsVqtVEgfB36Lu87viWePZKqznwG3x3X13omxdplwK2sqyfMpLtRAvH1KYvgR8hssLzQfsZOU93/wWT0zkqUUPH5xpk081BlCcaQb1y06GaYYv+4dgOW6tjTBAs6JbbD1DAN2sJxEnMMWGzLlfH1ZGwKkRDrGo7hyCd2FULYgLs3QFZWIqOyciBhUHYglfNVajDajFmDfMsdjdk0nu6dRqjOTc3/OvR8gTzcSN31cMz9YnDbThtghYbuhapfT3kSHdf+MprihsO3Xij506EMBSf9YI+goGtDxYsIWDlM+C00CUWw5GG3poM741iyID3vpbJAEICyYke0fKh1nsZCa8ViSblXCwVzpPDM8FzeC+sQJV5+hIhzYDSAsq5RVwIHNgBYr5Y72MNpyqkdoeBEbY+j1SW/IEk0sy/VNyv0AyWQjPrPBBjivkRhyIOZI7P/CJPVTrXTsA1fh86AGVrjbUlcZWpvD7R4dGHd16oyQKktX6WmqaUIRxbEwiH1//oTffLqqfiIminqigMMvk528Z2Cpkz4OwgkaEXKHqJ+7pckyuGtn0rb9VBmKT6DS0BiB/D3e70Lc6XYc8L80S90sQfqr56npdKQk23A2Dl5PMcrnTHSN2mR9ObHhXxi8SoqchHenwiAh+8ZyjS0qkY2J09ZdxYVoqIG/DoeCCVFsBecMziRddu/QbLsMoopnc42NUhMDGSoG/Ruig5zt6ZRx5bpi/ewLC+Mv6e8/DMFlhvA8djpUaTiOTKH6etY/ i1X8JSGQ mPxL4iQyzCDpY5ZY8hj70NCoiFN3FBmDUbzXwfXdCbaeqCZQaYYybyCUDMlXzr69yJqr+ue7XonqidLto2xF/Z3MEEV0HQKNj6v7HhiqX+eMbjArTDmFux/lG/uwbX4LKfT0PFdV7lYCixmJP2jrlKitvwNTQ9jboG/aOldPwaMdBoq57pr19b5Taf2CiAdRzIatYEi19REsvCdNLGl0rkrZkEkJTimLb3S4+ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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 Thu, Aug 29, 2024 at 2:27=E2=80=AFPM Kanchana P Sridhar wrote: > > Add a new MTHP_STAT_ZSWPOUT entry to the sysfs mTHP stats so that > per-order mTHP folio ZSWAP stores can be accounted. > > If zswap_store() successfully swaps out an mTHP, it will be counted under > the per-order sysfs "zswpout" stats: > > /sys/kernel/mm/transparent_hugepage/hugepages-*kB/stats/zswpout > > Other block dev/fs mTHP swap-out events will be counted under > the existing sysfs "swpout" stats: > > /sys/kernel/mm/transparent_hugepage/hugepages-*kB/stats/swpout > > Based on changes made in commit 61e751c01466ffef5dc72cb64349454a691c6bfe > ("mm: cleanup count_mthp_stat() definition"), this patch also moves > the call to count_mthp_stat() in count_swpout_vm_event() to be outside > the "ifdef CONFIG_TRANSPARENT_HUGEPAGE". This should be in a separate change, it's irrelevant to MTHP_STAT_ZSWPOUT being added. > > Signed-off-by: Kanchana P Sridhar > --- > include/linux/huge_mm.h | 1 + > mm/huge_memory.c | 3 +++ > mm/page_io.c | 3 ++- > 3 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > index 4da102b74a8c..8b690328e78b 100644 > --- a/include/linux/huge_mm.h > +++ b/include/linux/huge_mm.h > @@ -118,6 +118,7 @@ enum mthp_stat_item { > MTHP_STAT_ANON_FAULT_ALLOC, > MTHP_STAT_ANON_FAULT_FALLBACK, > MTHP_STAT_ANON_FAULT_FALLBACK_CHARGE, > + MTHP_STAT_ZSWPOUT, > MTHP_STAT_SWPOUT, > MTHP_STAT_SWPOUT_FALLBACK, > MTHP_STAT_SHMEM_ALLOC, > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index 15418ffdd377..ad921c4b2ad8 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -587,6 +587,7 @@ static struct kobj_attribute _name##_attr =3D __ATTR_= RO(_name) > DEFINE_MTHP_STAT_ATTR(anon_fault_alloc, MTHP_STAT_ANON_FAULT_ALLOC); > DEFINE_MTHP_STAT_ATTR(anon_fault_fallback, MTHP_STAT_ANON_FAULT_FALLBACK= ); > DEFINE_MTHP_STAT_ATTR(anon_fault_fallback_charge, MTHP_STAT_ANON_FAULT_F= ALLBACK_CHARGE); > +DEFINE_MTHP_STAT_ATTR(zswpout, MTHP_STAT_ZSWPOUT); > DEFINE_MTHP_STAT_ATTR(swpout, MTHP_STAT_SWPOUT); > DEFINE_MTHP_STAT_ATTR(swpout_fallback, MTHP_STAT_SWPOUT_FALLBACK); > #ifdef CONFIG_SHMEM > @@ -605,6 +606,7 @@ static struct attribute *anon_stats_attrs[] =3D { > &anon_fault_fallback_attr.attr, > &anon_fault_fallback_charge_attr.attr, > #ifndef CONFIG_SHMEM > + &zswpout_attr.attr, > &swpout_attr.attr, > &swpout_fallback_attr.attr, > #endif > @@ -637,6 +639,7 @@ static struct attribute_group file_stats_attr_grp =3D= { > > static struct attribute *any_stats_attrs[] =3D { > #ifdef CONFIG_SHMEM > + &zswpout_attr.attr, > &swpout_attr.attr, > &swpout_fallback_attr.attr, > #endif > diff --git a/mm/page_io.c b/mm/page_io.c > index b6f1519d63b0..26106e745d73 100644 > --- a/mm/page_io.c > +++ b/mm/page_io.c > @@ -289,6 +289,7 @@ int swap_writepage(struct page *page, struct writebac= k_control *wbc) > swap_zeromap_folio_clear(folio); > } > if (zswap_store(folio)) { > + count_mthp_stat(folio_order(folio), MTHP_STAT_ZSWPOUT); > folio_unlock(folio); > return 0; > } > @@ -308,8 +309,8 @@ static inline void count_swpout_vm_event(struct folio= *folio) > count_memcg_folio_events(folio, THP_SWPOUT, 1); > count_vm_event(THP_SWPOUT); > } > - count_mthp_stat(folio_order(folio), MTHP_STAT_SWPOUT); > #endif > + count_mthp_stat(folio_order(folio), MTHP_STAT_SWPOUT); > count_vm_events(PSWPOUT, folio_nr_pages(folio)); > } > > -- > 2.27.0 >