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 E2875C27C53 for ; Wed, 12 Jun 2024 08:04:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 52C6D6B007B; Wed, 12 Jun 2024 04:04:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 503356B00D4; Wed, 12 Jun 2024 04:04:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3CC7D6B00D5; Wed, 12 Jun 2024 04:04:25 -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 1F4BC6B007B for ; Wed, 12 Jun 2024 04:04:25 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 68A05413E6 for ; Wed, 12 Jun 2024 08:04:24 +0000 (UTC) X-FDA: 82221499248.15.EA91ACC Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) by imf27.hostedemail.com (Postfix) with ESMTP id 8B2E440019 for ; Wed, 12 Jun 2024 08:04:21 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=FR8T4M8X; spf=pass (imf27.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.208.50 as permitted sender) smtp.mailfrom=ioworker0@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=1718179461; 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=Js3E3DUFwU3FB+ZM+04Gkpcvw7j3IczAyXGTYjRRVWo=; b=tWjBe7ypYaCjgJ1jFAHRQx/HRIRMDGsQGbhjCIdnu+zHCZ4b/ISALPv+N1r29oEpcOH5u3 yCctKzlKIe1eWZzmUw3MKY8aZ6OgCP1IyVjFXq3vJm20w1o+jbRWnuTZiAXtEyOcsYXCU4 Au2ZRdOiUoRI4WF9XNI5VBy5bn+otxU= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=FR8T4M8X; spf=pass (imf27.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.208.50 as permitted sender) smtp.mailfrom=ioworker0@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718179461; a=rsa-sha256; cv=none; b=QbL075hPgHNnh0Eq8cuzeler4loVdLmlgwHiSD4VArHqeEsWSt0XJrxPOs80twq0XtIgki iWhJVMKaIOP7XCPAjkptmGbOsr3yxxkSqUZ6YkxnPSkf7TiwPenbK7jwxUCOxJVnb635NQ vOHLg3R0Dm+B1sboFuiEH5GG8ZrMMFI= Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-57c714a1e24so2186784a12.2 for ; Wed, 12 Jun 2024 01:04:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718179460; x=1718784260; 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=Js3E3DUFwU3FB+ZM+04Gkpcvw7j3IczAyXGTYjRRVWo=; b=FR8T4M8XsqPi2sDspX5sQdm1FWuyA+TAVF0XBtJJcHyqMtzUXJWkzk+IQoh5EImIUF 7W+Z5xwxQjtfU2SshEcgrf6GM0ogVJr2VmzroFYPmtXqrdkkiIi4pVrNYIz53SMRLY5Z mor/GTRo4YvEj0CWfpB8ZlOHQeP5vPaACN2NyuzIVn3/8OH8/stO+CmxAnfTgKkJbKsR Uv5Z5iVMOGeI1u+3FS87NpjqhhC+tUbRArm5m7IUkkG8yzVOqRwv7QSK1VMbiuLlcI5q tTOz5rR8+4hxqa8dYOZe9KPC7r7Z0maUI70hSIGXW0JUvCyP+YccB/YSxw24KLMEFIT/ th9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718179460; x=1718784260; 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=Js3E3DUFwU3FB+ZM+04Gkpcvw7j3IczAyXGTYjRRVWo=; b=CDYfMig+ErRb+f4ELfhaz6Hcd5sgybx1cC1SDAleygMtc+F9TbjTamIQdG3wTMmJz+ s4lnzjmcuYWWmPOi7BUBZpr7BLKIx0mv2TwLgtKWerYC/a4rEktcUorrEy/4/T6qLCQl PvaoJajakXqdxKqIyvnjmR3rFFYD5SCetD0W5O8wrGokvfoxu0p8hC+oyXSXPXWbvgoh aBGPpAm2JUAqIiSvsfCns8ZG6JDtQA4hhIhqJiWdPX4IPMRhI2uJNLrM+pRvAmo72Ah/ 3ljPP2UbJ05betVLOJF3fUZ3Aezyv+QkWHLRH7mcTIo8dChcnxm/+Xs1CyOJC4zSKbOB iV7A== X-Forwarded-Encrypted: i=1; AJvYcCXSiVYsBSV6xN76QsUZqGf8OKa69MsXa37Nb8H0CTZmSqygVbbFh4JTNoyLmXYCfkiHDTEtzeDxr/gW1HwmebbRaqU= X-Gm-Message-State: AOJu0YzeBvb5Dc0bD+vXOQX6+RozPoRs9kjiQbVLwmI0RTwGbxo9GG33 BwAxirPkvgY6iov9Jrix/8mMWg7ykM0HUfLUnFW+ARYJj2g2F9XiN225doCHqOAGh+NeQJxIGo3 OPTkxDyW2Ai9bhpwvmtsiDpExagI= X-Google-Smtp-Source: AGHT+IG1Q8MXusEULXXlSBWhyYV1z5qWXyGVXkXKcSdxTpBqsBPO6/ovkRW9BoPcFsKqz8vYHU+1TkuJL2zSI5yhOdM= X-Received: by 2002:a50:96d1:0:b0:57a:339f:1b2d with SMTP id 4fb4d7f45d1cf-57ca9749c57mr684876a12.5.1718179459833; Wed, 12 Jun 2024 01:04:19 -0700 (PDT) MIME-Version: 1.0 References: <4fd9e467d49ae4a747e428bcd821c7d13125ae67.1718090413.git.baolin.wang@linux.alibaba.com> In-Reply-To: <4fd9e467d49ae4a747e428bcd821c7d13125ae67.1718090413.git.baolin.wang@linux.alibaba.com> From: Lance Yang Date: Wed, 12 Jun 2024 16:04:08 +0800 Message-ID: Subject: Re: [PATCH v5 6/6] mm: shmem: add mTHP counters for anonymous shmem To: Baolin Wang Cc: akpm@linux-foundation.org, hughd@google.com, willy@infradead.org, david@redhat.com, wangkefeng.wang@huawei.com, ying.huang@intel.com, 21cnbao@gmail.com, ryan.roberts@arm.com, shy828301@gmail.com, ziy@nvidia.com, da.gomez@samsung.com, p.raghav@samsung.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 8B2E440019 X-Rspam-User: X-Rspamd-Server: rspam09 X-Stat-Signature: 9xj1bd1p9517gfmk7ei15iywtcepes78 X-HE-Tag: 1718179461-848436 X-HE-Meta: U2FsdGVkX1+U5Y9No3rrvh1Hq7UmdQsKhTwYKEODHpZAw0cd7J0H+FrsRE7thUL6cRBWhgTOkiKYuCp8JOA1e8Zt5rh5k0uGJ4xXDlJnv3fbjMSzgKw9YsQx6cAEhcac3hDQeIH+WHoQvH4k0QxqmfQ3VJ90IkIkrt20beZ+SkxyCsl8LoHlp4Mwtovs2hfdeTVey60Mh+iiBglozCOutNtq8sHA7I81zbD2HJTDdp5Y3/CRNxC8PbuhAnwtPOaSnV+ED7hf8/4s4QgmTqBEEMOCX9N0hNMiKcvmVrXfAlWXTuKRmykySX5e0WkNzaGR1fgcnW/XGckMcyppiNSd2SFhvmmIaI4/MhBk3LNC5AZjsqfZ5cqSGDc5FGyzT+S/mTMB/pzctbPPTOXdjGUyiJapOa5A26dgK5CT789b4efCUUv1fR29ecqih7udVyija9ZmF/0QhwAjwln8HBp6KCfQmh1KOeAMK1UEgnzq82RqgYUGdkgKqVEHTCdeYJNYf+RmQ3hsuXWvUFg+LKz0ZWXHf2zMhvMEI/QyOvLFpzufvaDpM+PYJuc1r/UCbeT3I3LueihnubedGWfv2LEgnA58MJ4u3LI3YTxO3wBl2iLA1kKwlh2MsZcy9JM51n9f6dIlWDn3b7o2h4wRsWfANofGgv6ggPdQCKiHoSXDSAypc0Nf5qoZIxkNDfgCuSI/AhgJVqr7GYKKB9cSpNmbziOp9cAS650M5hSPzTNXkl83I+bdbsNAta8RFJ+7DmWrXlGA6A/UX9j2e4feOmmbR+fJ97Nm2ej7esLUUS5VeuTrkYbGlW9iUjM3V+B2diPXE4wbKs31c5ewKCJtIXkadklbkYAIlaC1dX87gd/bS/ya+qLqTchsiEnX5l6vt8FhNP/AvosvvSsQ5jgstUBuKubZHrOx3mI7vclDwWJgFJ4AlXffqV1ER2BAqwyDCRS0qJtfttVSatbxqnbv8AN L+ZQgOiW UGfoVWlTcWPEvsdvWRO+hkgHUWmt7emFr2OowbqAuTxddZS6JP+GKkbmWlS838xyyDRPMe1Ci7roTMpcBvVDk2DOWW4HVXyDXkUd4iaCnUWbIM8IjlDIg3vg6fRinVSpiqPt8WwfQ1Po6OvVBE51HmmV50U03cPHvzkjp63It7/w+Woif4igod7If00ntEdO/leNUMFDGo8cW4zPpJHOVTBZ1Su5QVyVNsrF3Mjkcf/2fhUPAX06Yr45o7n28gIWMvQ9QbDYzloeHQ+cmSEqe922M4Wab+7LncT3k 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: Hi Baolin, On Tue, Jun 11, 2024 at 6:11=E2=80=AFPM Baolin Wang wrote: > > Add mTHP counters for anonymous shmem. > > Signed-off-by: Baolin Wang > --- > include/linux/huge_mm.h | 3 +++ > mm/huge_memory.c | 6 ++++++ > mm/shmem.c | 18 +++++++++++++++--- > 3 files changed, 24 insertions(+), 3 deletions(-) > > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > index 909cfc67521d..212cca384d7e 100644 > --- a/include/linux/huge_mm.h > +++ b/include/linux/huge_mm.h > @@ -281,6 +281,9 @@ enum mthp_stat_item { > MTHP_STAT_ANON_FAULT_FALLBACK_CHARGE, > MTHP_STAT_SWPOUT, > MTHP_STAT_SWPOUT_FALLBACK, > + MTHP_STAT_FILE_ALLOC, > + MTHP_STAT_FILE_FALLBACK, > + MTHP_STAT_FILE_FALLBACK_CHARGE, > __MTHP_STAT_COUNT > }; > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index 1360a1903b66..3fbcd77f5957 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -555,6 +555,9 @@ 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(swpout, MTHP_STAT_SWPOUT); > DEFINE_MTHP_STAT_ATTR(swpout_fallback, MTHP_STAT_SWPOUT_FALLBACK); > +DEFINE_MTHP_STAT_ATTR(file_alloc, MTHP_STAT_FILE_ALLOC); > +DEFINE_MTHP_STAT_ATTR(file_fallback, MTHP_STAT_FILE_FALLBACK); > +DEFINE_MTHP_STAT_ATTR(file_fallback_charge, MTHP_STAT_FILE_FALLBACK_CHAR= GE); > > static struct attribute *stats_attrs[] =3D { > &anon_fault_alloc_attr.attr, > @@ -562,6 +565,9 @@ static struct attribute *stats_attrs[] =3D { > &anon_fault_fallback_charge_attr.attr, > &swpout_attr.attr, > &swpout_fallback_attr.attr, > + &file_alloc_attr.attr, > + &file_fallback_attr.attr, > + &file_fallback_charge_attr.attr, > NULL, > }; > > diff --git a/mm/shmem.c b/mm/shmem.c > index f5469c357be6..99bd3c34f0fb 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -1773,6 +1773,9 @@ static struct folio *shmem_alloc_and_add_folio(stru= ct vm_fault *vmf, > > if (pages =3D=3D HPAGE_PMD_NR) > count_vm_event(THP_FILE_FALLBACK); > +#ifdef CONFIG_TRANSPARENT_HUGEPAGE > + count_mthp_stat(order, MTHP_STAT_FILE_FALLBACK); > +#endif Using the conditional compilation directives here is a bit weird :) Would there be any issues if we were to drop them? Since THP_FILE_FALLBACK is working as expected, MTHP_STAT_FILE_FALLBACK should work as well without the conditional compilation directives, IIUC. Thanks, Lance > order =3D next_order(&suitable_orders, order); > } > } else { > @@ -1792,9 +1795,15 @@ static struct folio *shmem_alloc_and_add_folio(str= uct vm_fault *vmf, > if (xa_find(&mapping->i_pages, &index, > index + pages - 1, XA_PRESENT)) { > error =3D -EEXIST; > - } else if (pages =3D=3D HPAGE_PMD_NR) { > - count_vm_event(THP_FILE_FALLBACK); > - count_vm_event(THP_FILE_FALLBACK_CHARGE); > + } else if (pages > 1) { > + if (pages =3D=3D HPAGE_PMD_NR) { > + count_vm_event(THP_FILE_FALLBACK); > + count_vm_event(THP_FILE_FALLBACK_CHARGE); > + } > +#ifdef CONFIG_TRANSPARENT_HUGEPAGE > + count_mthp_stat(folio_order(folio), MTHP_STAT_FIL= E_FALLBACK); > + count_mthp_stat(folio_order(folio), MTHP_STAT_FIL= E_FALLBACK_CHARGE); > +#endif > } > goto unlock; > } > @@ -2168,6 +2177,9 @@ static int shmem_get_folio_gfp(struct inode *inode,= pgoff_t index, > if (!IS_ERR(folio)) { > if (folio_test_pmd_mappable(folio)) > count_vm_event(THP_FILE_ALLOC); > +#ifdef CONFIG_TRANSPARENT_HUGEPAGE > + count_mthp_stat(folio_order(folio), MTHP_STAT_FIL= E_ALLOC); > +#endif > goto alloced; > } > if (PTR_ERR(folio) =3D=3D -EEXIST) > -- > 2.39.3 >