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 94709C3DA4A for ; Wed, 14 Aug 2024 07:53:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F264E6B0095; Wed, 14 Aug 2024 03:53:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ED68A6B0096; Wed, 14 Aug 2024 03:53:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D77246B0098; Wed, 14 Aug 2024 03:53:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id B82056B0095 for ; Wed, 14 Aug 2024 03:53:33 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 67C201A0CAA for ; Wed, 14 Aug 2024 07:53:33 +0000 (UTC) X-FDA: 82450086306.16.D24D91A Received: from mail-vk1-f176.google.com (mail-vk1-f176.google.com [209.85.221.176]) by imf30.hostedemail.com (Postfix) with ESMTP id ACAAD8000C for ; Wed, 14 Aug 2024 07:53:31 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hUMuaibx; spf=pass (imf30.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.176 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723621975; a=rsa-sha256; cv=none; b=k2I9LDX7RiKotELG6tLgk9FOL59fmPGi0T9TYMsIbJRkbCFLaMbJD1nE5jjRJ/SCTLt8k8 F0Crjvb503elGf3Ssb+sRLuo12nz5Rvjl84h+XuDmrtCclPN/MhGLNNbI5MSKYGOXgEh9/ zhepmji+UhZlIS7RO4uZUljCW2m1Oik= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hUMuaibx; spf=pass (imf30.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.176 as permitted sender) smtp.mailfrom=21cnbao@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=1723621975; 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=oWPmnyLQbNmcYguFPVD4++tm9j3qt13xY2mjBkRs+NQ=; b=KQf6AEuFnuGrsHnEotyZzuLCaO9+aeX0VeY/x2SckRzuqo4M5PoSlmeahh03pOMxxTKYVL lWhcz8WRzFeH+Ro7TRjOSQMLEm+Puf2X8q9sEQykFxlrj0Abs69ReAPV1T/8Dcw0bSsiBn EYuk6pSmc84B7Q5EJuMe8UW8VZioCYk= Received: by mail-vk1-f176.google.com with SMTP id 71dfb90a1353d-4f5153a3a73so2132507e0c.2 for ; Wed, 14 Aug 2024 00:53:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723622011; x=1724226811; 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=oWPmnyLQbNmcYguFPVD4++tm9j3qt13xY2mjBkRs+NQ=; b=hUMuaibxZUHcGVxd2+m7LdelD0ufwwCiMvAQdahH/GcsmtGHqoICZ2j8GXuHoAxhSx MAcCgO/z3NxiVYtIAixwYDZh04aQ8HwbEhGJQXi9YOgSZBi5kbg8UJG/cZvfQkch72sW jF9wUNjZpJB7Hb5YSLeqwTtu02tsrF7eQ7thCoUfiW6drc2FCagXK5crVNxM4CjxipuX dwlxIdif4DhdZLVpI+e+xaioIHBC6sXCIy9ply6XPcFDQmgo5VFzTjXGAbTKfSmCxItJ jsYuwJJJ+yep8WE+gAvMrV0amlB+6TbTIBqG1cgVM9AvmzlqkaSKi3/TN2RCbv9W3Y81 HjAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723622011; x=1724226811; 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=oWPmnyLQbNmcYguFPVD4++tm9j3qt13xY2mjBkRs+NQ=; b=uWMfKTNpdMsCKB4Q/zNTU7AWA4WZWJIcGj3KtsCqz2q1TOwSRihHHelUtj/+IimqRl 7gQ8mtYI2kRCVnqRrqWZCKkbIjwnv3Ei4CcgtNOylA6dDdC+jXjwWbdA4DQEqLB3ozfM 1wFF8Zp27mVOsViqa0/wPutZrUyjO2BBRAgSkNeaQmI5+XPuWxJ+DmOOdj9jHZtRzihc /qWpdSoS4Y8LjgMMOKluEdGk0CZvh2TIKSabK6mgNCcnbebRjDycl6IhETU85c5elhLt gIAnttgCC2lFZqxTrUBN/AYHvEEuto0C0xKk7Y/VQ3DHWSyp3iWTPwC2Je2reSPA0/Gw Iacg== X-Forwarded-Encrypted: i=1; AJvYcCUsRNEa6cMor/cvLNDZIDyd/+XrJEq2wUwoaCr+oCCwI2lGXRoh+Td1DxxpubY+36I+qgx7btkgQ6P952iJoA7B79I= X-Gm-Message-State: AOJu0YxCt3Uag+40BYkTOM7IlH9UcME5yQ2Zy27p8pZezOm50h+kn7no AYmc9SEZl0PvcoMUYtKFX8yY6q3ZCVCgKm344ncxIY15T6VHEcFGq+PFRD23NhRYiusAX0AclrX xfPrRf/w28bnfcIY75SlWzS3tLnU= X-Google-Smtp-Source: AGHT+IHUcw9mHBUfzjYt1BFLmaj9axsllWLkFoBBFMlfq2rgfBtEKDHO4QjdeJwEVjSOOAPXHyz/T96Ffymb+gbkkfA= X-Received: by 2002:a05:6122:3b04:b0:4f5:1ea3:736f with SMTP id 71dfb90a1353d-4fad234cbc0mr2376312e0c.13.1723622010677; Wed, 14 Aug 2024 00:53:30 -0700 (PDT) MIME-Version: 1.0 References: <20240814062830.26833-1-kanchana.p.sridhar@intel.com> <20240814062830.26833-5-kanchana.p.sridhar@intel.com> In-Reply-To: <20240814062830.26833-5-kanchana.p.sridhar@intel.com> From: Barry Song <21cnbao@gmail.com> Date: Wed, 14 Aug 2024 19:53:19 +1200 Message-ID: Subject: Re: [RFC PATCH v1 4/4] mm: page_io: Count successful mTHP zswap stores in vmstat. To: Kanchana P Sridhar Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, hannes@cmpxchg.org, yosryahmed@google.com, nphamcs@gmail.com, ryan.roberts@arm.com, ying.huang@intel.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-Stat-Signature: wx8aujmec6k97nz8ihjurppb5rdmiumf X-Rspamd-Queue-Id: ACAAD8000C X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1723622011-780196 X-HE-Meta: U2FsdGVkX1/LU/TkUC0h7o6XT1ZyvZ8/zwKYRYYL1cVHHNtNalUfZGfuparSFzFwTxWO4TMBqPN0jQELP/VjwsdxmvB2Wr9Sjv0tER4UtIAxxo5VGKNF0NRlFojvzjAB9TkG7N04D4xGEfe0+oSpWjHt2b8qEzUhgw9G+Ohh6dy8n7RI1Rd8+fQKpFdmWrIA3m02DPnAXll1GdFPl9T36GF7Ry1x6eKfjomMjzHuztfg8TQQt6LZxjwmlKp85/ujOZjDpPcG8faC+J72eYHJ0Pj7lfqbUeIYgSoTvWvHC/fXLKL/pANBFEWQ/iIpRqnf/Cq1eVsyX24eNbCTPZucbK8e8PqaPvHh9hCUrhk8ENwEOa8KwEcR1E96/Iyc7Frsn6sh+2/d535NWqTNIqfP7xtPJl68LSRBC4xsYnxtRu2mw7Ry2nf4wtv1xCkM2TsfcqNLQTdTJ/UFACboAKlZLPhEiOx8Z5aCwC/unPjLlGWhckwnkl36q2H+0Lslh6N6He6qh+fnxeEd+CYSvgA02Bjblb3gXvHFYNdEoYmabhtqDS8s45oGVMdYQgIiYPnpxiaf+4ssMqUa++AszUqBYXaf0uvgX1NmBWwP1xpIlNDC2aqvglKhXN7hdqIy6rlQG3Wdq6k+e2rVrWy47PLsHAllai3eRzbslSaOxvOI7PuKinQbKp/03q1Oc/8tDEgi+TRUs86DWxO8IAZVg5ISlBHA1yblDgmG482NswPbHWQOdpZ9yx6WoBY71RWTjsSlVx8qK94m8sI+b1FS45mhl7fldqGD4lpdvbs02vB7Yobe68gESpQhlEKBOJ996m2XRrnMufYSYDBz9q24k45fFyHKcetIBaKPT5iu0zPpz4bIyLdT/DTtgIA7dx318NqbRpmoPss2Gctpc9ppD7COFAxJwz990S98r4BNA0MDDER+4N4uWRcPGQusJSxEzztflYRWvvnougHV7jef54Y +bilYMib qivYXCW8rbszyIS17apnCm8PoAUZg9HrEPKLxdOA+Yl+dt5rCfBMZ9ypqYnqYbwgsPgFdT60HPG0FmC5d5BFTjzZ+2KPyENICmM3r6BdMYdUG4wmUhWVDnxEHJBfkk5l2mIVCSxEYKYn7Il6HNeILawrbkk742QY4Q/3Us21eEPre+E4N9J7mwlA77BQrvrvjNDv1CVlTrdWqlyDffiySF+nIgP9iAriz2mkk3wkZULcH1/qblSjkPqvyn3fuysOC7q20u8SDpN6Cvr8n/54BeoGnwNzW6Ys+/V/9wu84hDbQJQCQrrjQuy1AErkOdVWSf7HpTmH936AppGGZbu9PNIt7lBWoqHJZv9ki/YiQUrO/nQk= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000199, 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 Wed, Aug 14, 2024 at 6:28=E2=80=AFPM Kanchana P Sridhar wrote: > > Added count_zswap_thp_swpout_vm_event() that will increment the > appropriate mTHP/PMD vmstat event counters if zswap_store succeeds for > a large folio: > > zswap_store mTHP order [0, HPAGE_PMD_ORDER-1] will increment these > vmstat event counters: > > ZSWPOUT_4KB_FOLIO > mTHP_ZSWPOUT_8kB > mTHP_ZSWPOUT_16kB > mTHP_ZSWPOUT_32kB > mTHP_ZSWPOUT_64kB > mTHP_ZSWPOUT_128kB > mTHP_ZSWPOUT_256kB > mTHP_ZSWPOUT_512kB > mTHP_ZSWPOUT_1024kB > > zswap_store of a PMD-size THP, i.e., mTHP order HPAGE_PMD_ORDER, will > increment both these vmstat event counters: > > ZSWPOUT_PMD_THP_FOLIO > mTHP_ZSWPOUT_2048kB > > Signed-off-by: Kanchana P Sridhar > --- > mm/page_io.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 44 insertions(+) > > diff --git a/mm/page_io.c b/mm/page_io.c > index 0a150c240bf4..ab54d2060cc4 100644 > --- a/mm/page_io.c > +++ b/mm/page_io.c > @@ -172,6 +172,49 @@ int generic_swapfile_activate(struct swap_info_struc= t *sis, > goto out; > } > > +/* > + * Count vmstats for ZSWAP store of large folios (mTHP and PMD-size THP)= . > + */ > +static inline void count_zswap_thp_swpout_vm_event(struct folio *folio) > +{ > + if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && folio_test_pmd_map= pable(folio)) { > + count_vm_event(ZSWPOUT_PMD_THP_FOLIO); > + count_vm_event(mTHP_ZSWPOUT_2048kB); > + } else if (folio_order(folio) =3D=3D 0) { > + count_vm_event(ZSWPOUT_4KB_FOLIO); > + } else if (IS_ENABLED(CONFIG_THP_SWAP)) { > + switch (folio_order(folio)) { > + case 1: > + count_vm_event(mTHP_ZSWPOUT_8kB); > + break; > + case 2: > + count_vm_event(mTHP_ZSWPOUT_16kB); > + break; > + case 3: > + count_vm_event(mTHP_ZSWPOUT_32kB); > + break; > + case 4: > + count_vm_event(mTHP_ZSWPOUT_64kB); > + break; > + case 5: > + count_vm_event(mTHP_ZSWPOUT_128kB); > + break; > + case 6: > + count_vm_event(mTHP_ZSWPOUT_256kB); > + break; > + case 7: > + count_vm_event(mTHP_ZSWPOUT_512kB); > + break; > + case 8: > + count_vm_event(mTHP_ZSWPOUT_1024kB); > + break; > + case 9: > + count_vm_event(mTHP_ZSWPOUT_2048kB); > + break; > + } The number of orders is PMD_ORDER, also ilog2(MAX_PTRS_PER_PTE) . PMD_ORDER isn't necessarily 9. It seems we need some general way to handle this and avoid so many duplicated case 1, case 2.... case 9. > + } > +} > + > /* > * We may have stale swap cache pages in memory: notice > * them here and get rid of the unnecessary final write. > @@ -196,6 +239,7 @@ int swap_writepage(struct page *page, struct writebac= k_control *wbc) > return ret; > } > if (zswap_store(folio)) { > + count_zswap_thp_swpout_vm_event(folio); > folio_start_writeback(folio); > folio_unlock(folio); > folio_end_writeback(folio); > -- > 2.27.0 > Thanks Barry