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 6FFDCC27C53 for ; Wed, 12 Jun 2024 14:18:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F03AC6B0089; Wed, 12 Jun 2024 10:18:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EB30B6B0092; Wed, 12 Jun 2024 10:18:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D541B6B009B; Wed, 12 Jun 2024 10:18:41 -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 B755F6B0089 for ; Wed, 12 Jun 2024 10:18:41 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 518341A17A8 for ; Wed, 12 Jun 2024 14:18:41 +0000 (UTC) X-FDA: 82222442442.22.A9AA374 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) by imf09.hostedemail.com (Postfix) with ESMTP id 6D5E2140020 for ; Wed, 12 Jun 2024 14:18:39 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=R3AhIMbm; spf=pass (imf09.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.208.51 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=1718201919; a=rsa-sha256; cv=none; b=jOKsBceDhvpw/8UI5/AfESY9jxsShZOoKzdB6gCQADr5+rtdGUoWW+BIRC33Usxun6X8v1 3gkI8fEE1+q1/F5DRRtuUFd+9a6cMNnhAVuKQotVD0EGbq2bxKPWs1qD5oE4j9/COma9o6 bkHUeg+uofyBfkDb0M9RJ9/BxMvxaoU= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=R3AhIMbm; spf=pass (imf09.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.208.51 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=1718201919; 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=kR6Mw/uBGrdLP+c87yF7rrJHnsUwR0tIZHnBvWUb2j0=; b=OFlRu/4cwuXUb9ryR2rBB2gqE+n921FmlZ3GhfBuCUwDTS66H3MlSTh4mWuTzYjH5V6WB3 oHMQD4l1HdDEmxtpmHPA9DRBZutXNMU/BHbXg4gZgACam0R5BBCqRwHsqftFIQ79Anp+Uv 1lyP4oQqMZKbZdaG+ENzDX99vOgTN+c= Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-57c7681ccf3so4911022a12.2 for ; Wed, 12 Jun 2024 07:18:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718201918; x=1718806718; 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=kR6Mw/uBGrdLP+c87yF7rrJHnsUwR0tIZHnBvWUb2j0=; b=R3AhIMbmvwf5X7eM3Doxt8BpfwyVNIJIc4QbxicCo3GbB91xAPdbLuygiTeqmWw28x GrK89e6amTbrfTSwtYEpt0JqXcbiX1UA9r9jl4/05I2v3dTC2dRCq00W/8pzY/8Y5H3c Lq1kcgWFdSyiAy1m0jY2hN3evJI1pcVaX8HOMTcRN+sNTUt+xrnp90c07gq8cLiyVRYW gcDJoaWHfknctrXbzdfLuHkhbHbHPsYx/q9jFPB5FFnUVHi2xNMEo8Rm62ZImIIH6GPw /XpT2tM+1igcNCaK9xEld7teIlpGPh2rTGVdLLp2P01X/VdIAKJdTRIYXnKvsmdP2xIr +/Cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718201918; x=1718806718; 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=kR6Mw/uBGrdLP+c87yF7rrJHnsUwR0tIZHnBvWUb2j0=; b=gBphCnPQGO2FR9DhSsNG1rzhP2kRN0Ik2nPnt57dQLLUbSiy9URgI+slLij75bpDuS sv23YKQVkCRTaseFkfj809o42lAb8RTVCoAdlANm+eIZHT4MjSTivxbSbJRK5eJE5QqR +OOmPU1zuaMHJUeo3snIHjlpGkiPQkOQ681azYSCcGjYSQvvX0dmHMNgF70aC9SN1HgD dPfNGHwkUEpR9L6rtwslEuIcYvZ9ln7eLkAj/4GxfdltRiImtjjISZ810ivCxOZ5uNjH Eykf24gSfvfYbmzikX7Cq8zIF0JZ7wPY207OTo1SivnOSXmsm6sPueCseZkKxOzD0vnZ CY+w== X-Forwarded-Encrypted: i=1; AJvYcCXfXIdHiU2qKm9ycnkqX0Yx56s5B0rsNkycsKkAYds7oqG8BRnL8xwfD9XErNWY/6VOxUuMsjomUQtepHim39w4iNo= X-Gm-Message-State: AOJu0YxaJe6Sjx6SJ4u9lhiA/fSvijfFU38nWBg8/VKgWqkYEq8hE3F5 3DMm4Hwdn/8+KmWhNaCrU9EcWVglyExBFQ8taBcgMPCNttSzYs7iIWpnOOIod2Gttfi15W4+kMO 6Rb28NO2SCmyURnU+gE36eC3/KDA= X-Google-Smtp-Source: AGHT+IHpDL+y1qV0WViwduL3/EQ/4jVuUbfWn2uPTJDMWv9LlgaA1cXdBOkXmE6zmolWjGSI7EfcYjHSnbpOA06l7HY= X-Received: by 2002:a05:6402:33d4:b0:57c:6955:41ea with SMTP id 4fb4d7f45d1cf-57caaac6682mr1181981a12.38.1718201917780; Wed, 12 Jun 2024 07:18:37 -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 22:18:25 +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: 6D5E2140020 X-Rspam-User: X-Rspamd-Server: rspam12 X-Stat-Signature: fz7bgmfmta5an1ed4ndg1sqe88bwk48i X-HE-Tag: 1718201919-697523 X-HE-Meta: U2FsdGVkX1/hHpj8RYYfX27oKyJzkidf2rp1emdx7Q4JIOePCopreLdSOjSETWYJ5GvURGjjCUhWp6BxYOqIEnku7AU/5pPRx8WV9Zea9eOAkKbYISgdKyrwClsN0GBdDZ9BWvdhFuZ/OvEYLFXo4L4ekl5OzTUfqSvkCaT7RWrEGERI32AB+hQSfdMTpGW8HOJZEInNSSpfip33ZEemPl8sfhHGIyFZHyfApmh7j1POispXSP7WCJTu8H00rniunjNjNUCZr0DXDAEuEWy6WQJJvyRVHZj8dSh/D8vok03UukoyBokzPF2fkxoLSjRVUhSwvfQXktoH77Oh+dDW+s49adfRbncBFM3A+jFDsM8jIhCSNnj2q0i2HG/2zcyMJEv6LCVsD25dKF/S3KIqlJeAKZ6yCPYCLjGAL5RuGkOv8UCGbx5twxuBU1RQ2C4h7a1XeWPb+5mH7UVZsS14Lg80zPt+ZzOnL7aIr/o6a1I3ILv25Av3JQokLZyCD4vDbLyS+m/oGRzUrcrrRxAioakw2VUtGMjOcDUy2dbqRjKkiZTZuqr8IL+nqpZEmMze+tgqxT+PTpY694JbgV4Z0LmjZa/XpGu37vNvOEbar6moIu2G9oxozCOybbL2TKzFimXKhxVbsEqVLBEqOmuVXnVJjIXZWzQRnhL45vV/42ncTwaKEBsDYEjNMqOszgNUMJGBM40HtJ5aCEg4QO9yBYbqpj21FhrNs2bMJgqY/c+ssxsH3A3Rc5MmoQuILX4n+b8/MQaey38jtTGZumeJK7Pcje2ojbd6NhBxe9xl0RPRB7v9DvuJR+ygIDOKzUt0ftaSgVF8TGxR5KhFGBcezrOSlygnwLWdaWK05bytLT/eVdLBEkfWNqw9rjfj1AH03ho7R1xG3m/5k8fOWcrbxP1xsrqSpI/6ChDvT8enfmBGmZI7Vcl6iOKElr4i0bbuIwu7YT6rtMYlvLKZOjy C7dfMCvq ZnfsLfxUGLi/kQkWqFH//InthZ7LiOC5SCiuZP16STAsGvpoWjoVN6VK8Yu8q6LxELWniBkbXJheXtWEXcbpIGKTFyiI/LZMQHumdsxINC9gfsBYUQk5FoWUjtO2bKBxqg3gLFUEZ3k1kVDYc94Hs2ahtbKoTJMB3vJWD+y7zOZMnWeNtl8f23vwop88HJo0RpxTIPQkH5kkQuNsCDSSowkKC6+op2L/HWGQLsxn9UcUwa/3JOJXZVDF/gryhUAcxg8kwvEpenDxZs3bwhAFG2F1mXUb8rMNlHXkdpnXD6Vq3eIyC2Ita0zx6DAXJ8qMncBs9fYMrqtrXQ+TjhJ/ipvYPkvmh0yo/+SiHnmXyEOyzorgZ39DhOTj2H+2/rn1Z9mNUNG0XQ2yOMSU= 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 Tue, Jun 11, 2024 at 6:11=E2=80=AFPM Baolin Wang wrote: > > Add mTHP counters for anonymous shmem. > > Signed-off-by: Baolin Wang LGTM. Feel free to add: Reviewed-by: Lance Yang Just a friendly reminder: We also need to update the documentation for the counters in transhuge.rst. Thanks, Lance > --- > 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 > 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 >