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 9EB06E64025 for ; Thu, 21 Nov 2024 22:32:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 02C3D6B007B; Thu, 21 Nov 2024 17:32:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EF7E56B0085; Thu, 21 Nov 2024 17:32:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D98766B0088; Thu, 21 Nov 2024 17:32:43 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id B50C26B007B for ; Thu, 21 Nov 2024 17:32:43 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id EDD31AE728 for ; Thu, 21 Nov 2024 22:32:42 +0000 (UTC) X-FDA: 82811551452.12.82D1EEA Received: from mail-ua1-f43.google.com (mail-ua1-f43.google.com [209.85.222.43]) by imf28.hostedemail.com (Postfix) with ESMTP id B5932C000D for ; Thu, 21 Nov 2024 22:31:43 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=egz1i4FL; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.43 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732228174; 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=fecMMpAR9aqzU6pxDcgMObsjfCOyyy7qj+VlEzyRjtk=; b=JabCtgRfh+mzs0UxyJ09eQO/2vnFi7x157rCNjNWqe39IRDuqhMfRfaA17ZZembf5aCiGr uXkl6iSqr08ha8DOJ6jO9EJhlEdB5xAkvDF+NrroVJWsKBMj183X0xwSyNWwXAJt2BkbDu e1b2oIbq+eargSG2Ro8IZ9xGrzJyYYg= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=egz1i4FL; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.43 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732228174; a=rsa-sha256; cv=none; b=Ao+ULzOr11+ysnEdqiKfJrwdsU68uUIG6ezM2jDnjnYo4ZTR9iPpHtO6Q5E1d+HZo0meWc 8xgvDGN9haIitNn1HHVStxEeTQYgUBvYW2E13uq5fT3uVFz9EyzHJbt9M6+S7zZ4oO53CT Zh4rhVR987v8m2M/OnnKZY0tJlfRMAE= Received: by mail-ua1-f43.google.com with SMTP id a1e0cc1a2514c-856f7d1ee73so443123241.3 for ; Thu, 21 Nov 2024 14:32:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732228360; x=1732833160; 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=fecMMpAR9aqzU6pxDcgMObsjfCOyyy7qj+VlEzyRjtk=; b=egz1i4FLkj1c4X55kGVIp7N4/TNT95iLnpH7WkWxnYsEnG8qZcRbTIFYIRlKu2JnlT lo2IUT7piWSyYlLEV/mV56pqhJcQ/+5fPD+nF9KF45Uj6VMf1NO+Uwy1dHRF0nT8PHDV TV8aLxrP4GRFdw9R73aodMgJPNsZGpDEdmvIyfisJvr/BQnacI+fHk/R4tg936hqKYEw iBYEee1uvYGGLyeVXsTFNthwOr7USbt5GabPU0eltYz2FxE8tnlK824qhZfgr2wudLT8 clC7a2RHxsydlQuSQxA6qDCA1afRCDf/BG1EqusZwldDoww/sZyxwbjaMQR5ew1xfg9g fWaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732228360; x=1732833160; 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=fecMMpAR9aqzU6pxDcgMObsjfCOyyy7qj+VlEzyRjtk=; b=GlkETSbFeswm/NZ6NWGWVr0tFowGvFi9biWn5XheW2oMdxffDyIYaa6dThJrHexL+f XQHqqf0V0bwz7AGiA02/XuGmDFTeZaQ+N8MgLvBbgSytK7yBNhBn2uDD+c95LLeZD5fR WQgP1FJmtHqYVnurL00Wk4CuYr0eTCS5W2P1ZXGKaXujZwkQGFmE15OeWT1S/qsODQyJ tkG0SgRiKBuPPMZPGp2xF1lKYXCHFkJ5eQ9Vz/Vg6NjJUOA6DYmhYzeQLUcMP1ytc6hO rH3nX6WE9Xwy5yMuPB1fU7ml44NuFukUpKUrtCifBZNwbaDcrq93KqhVidDGaTH+dUb5 qODw== X-Forwarded-Encrypted: i=1; AJvYcCW7BFMnApmEo5u0c1bTCwgDeoYYS+ItrN6mBbj6xJwGj5MBvFJcqn7zyqZMJNtVY7AkcxtpWltSwg==@kvack.org X-Gm-Message-State: AOJu0Yz0TH9VIx+1Mj4Xq47r8b1yxxXsLbLkqZs/Do582u/64nzsbnX6 B4sGvUmaj4sQntfho7Wy7eOyzyHz+ufXdGH37L8jSQ8+TfN4wYqTHvjLIkZHDM1QVM8Or9tJk4j XjN9ipgG5CAnWio18j4jKbDIhJBo= X-Gm-Gg: ASbGncuM9A0bNMTjm1GbUfBcfNoCFMK4a9DL8ZKqKRz9IvwDJoFiH1/T6hWR7IkJyJ1 yQ4iJy/VVFu3RD/8IMHlvvsEfVO8FPPdDNQsgKDEiT7EegtX9XFImH+c9/ovHMBIVgg== X-Google-Smtp-Source: AGHT+IGgunDBgS+MIXIJS8JIq4LltSSNvVyN5cWRKL8zjPcJ8TkEBGYXARRTDgIkpQoqzFsDekilngXfYGJ4SmNAiPs= X-Received: by 2002:a05:6122:4b1a:b0:50d:66e1:826c with SMTP id 71dfb90a1353d-51500ae1095mr632049e0c.11.1732228360131; Thu, 21 Nov 2024 14:32:40 -0800 (PST) MIME-Version: 1.0 References: <20241121162735.9558-1-haowenchao22@gmail.com> In-Reply-To: <20241121162735.9558-1-haowenchao22@gmail.com> From: Barry Song <21cnbao@gmail.com> Date: Fri, 22 Nov 2024 11:32:29 +1300 Message-ID: Subject: Re: [PATCH] mm: add per-order mTHP swap-in fallback counters To: Wenchao Hao Cc: Jonathan Corbet , Andrew Morton , David Hildenbrand , Ryan Roberts , Baolin Wang , Usama Arif , Lance Yang , Matthew Wilcox , Peter Xu , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Chuanhua Han Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: B5932C000D X-Stat-Signature: h5p6wimiy4pjce5mk5o175z4ahsgsm6u X-Rspam-User: X-HE-Tag: 1732228303-382504 X-HE-Meta: U2FsdGVkX19XxY7m0SCM7PGWiM/Xh6eEjK1jJ5vl2ZgQ20RUWGGh6vJlwVk6JtT8DSAO7OQ0epftxwWnXkvlHdwpXGEFCGy6nRV/BXC+dKX9gYZ+8Q5lIDgg+/9LxeCjYhM4JgOMkLocrqKBW0QxgwzDP6VzGblWdQ28yKkd9umglhv154ddtaN+hxYfBdOIdEIovEDdrMHNiQ5fpibEOTE5WuOxDOueyeylfjXUAv+43x9v9wAepZwo93zBCSUyh0shRzubldXhmHEcyAPYUMqkwp95Mf3pGTNSBuJvy8YAYApFzw6BZ5bBMphMWkwHOQ/Pc7FFBxTdSnkdB+TMuKAGeMwHy4USherqaY7Gm79v/gs1P3Eza1UBN+Uu0AT91DEJ4IZKW/XyUE6UIvnvxr6GjgKVTAI9Qomtwt1zcmv+EY2AWEOPNPhBZO45RHHkchepDY8ONohMLdvintc0NJm1hQm7kjV40hYFXNGcSGDBafB9831gCsYIr3jcxnCMEC4I5F0ZgrLlBzKD9TQkYV68V1NdzoXrt0N/1noEcvk5RfmcKIMwnPcmbXJoUks6C4wgrhej6n1HwNGJ2W1R6hGQM/8h3gqOeoJtDlrrNJditkbrkQ8w8G1si4BWf6IDAdxazIAZsrYfeX5a2fJSKtenOPowch/ohp8zDXpamWUhBAGK1ehp+q+L3qVvresLAFmFM4yC5lyU4mKVt7bQukrBacnsRS/2H5QSGsa8D8AgR1n6nmjPhBM5ySqD+3GLxiCa2LBtdxg9KS3VB7deKS1X6zb4LHrB+APOtzL0zf/z0z8Uanw/d/qRuLghGSKO1ar7LFPlMpBXzJ3JP7ODoKQ6HNyAfYmtuN8DrUvCxE+Ak/qlS8zfGBfdFbUsx6n+hmjygWDG/wCOeKBekurxcVkS1my5K//icefm91suK/tex2brHMji0eOK2b96VgAJEd72/JISVmFamq8ZzzT OzwMFmdW GIu2cwbu3Q15dCYOCKc8hs23rKJCKDJnAfCwhjKgpbcTeGSAkX69JnVpxn5n9ExUc+8vPaTCYEgAkPvzT0wASSwLv5jnfzW6vwaOwPnYpcI0tmOy7Qe8MSHpgGoT3n3vhvVRYZyQBCTo3/9ogmwfZNS6E1kD/R+K0tWENjlVvcQaRr0yK6BdNVybQEwKT3iu/HOPD7HgmN5Ua5n71I+LSL1YAVZZ9TOeD8LyoM1/uPAbTGdAy5CBaTDMGRgUARKlTfx37jM72FmyZBXzJFLCVX9scg8EPO9OSMVKa0cAXoXMi9FM0xPaqzFS/eAm6md3oeyaeRK9MYc0lyp/OvcW4TxkZ28dwwkhqWiTYIUOdp65GBBFpYZ8O3vdQ3Q== 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, Nov 22, 2024 at 5:28=E2=80=AFAM Wenchao Hao wrote: > > Now large folio swap-in is supported, but we do not have a method > to analyze the success ratio of large folio swap-ins. Similar to > anon_fault_fallback, we add a per-order mTHP swpin_fallback to help > calculate the success ratio. The new counter is located at: > > /sys/kernel/mm/transparent_hugepage/hugepages-/stats/swpin_fallback Well, this could be useful for profiling, but why not also add MTHP_STAT_SWPIN_FALLBACK_CHARGE ? > > Signed-off-by: Wenchao Hao > CC: Chuanhua Han > --- > Documentation/admin-guide/mm/transhuge.rst | 5 +++++ > include/linux/huge_mm.h | 1 + > mm/huge_memory.c | 3 +++ > mm/memory.c | 1 + > 4 files changed, 10 insertions(+) > > diff --git a/Documentation/admin-guide/mm/transhuge.rst b/Documentation/a= dmin-guide/mm/transhuge.rst > index 5034915f4e8e..f5c775457913 100644 > --- a/Documentation/admin-guide/mm/transhuge.rst > +++ b/Documentation/admin-guide/mm/transhuge.rst > @@ -561,6 +561,11 @@ swpin > is incremented every time a huge page is swapped in from a non-zs= wap > swap device in one piece. > > +swpin_fallback > + is incremented if a huge page swapin fails to allocate a huge pag= e > + and instead falls back to using huge pages with lower orders or > + small pages. > + > swpout > is incremented every time a huge page is swapped out to a non-zsw= ap > swap device in one piece without splitting. > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > index b94c2e8ee918..dcf08f8fdf52 100644 > --- a/include/linux/huge_mm.h > +++ b/include/linux/huge_mm.h > @@ -121,6 +121,7 @@ enum mthp_stat_item { > MTHP_STAT_ANON_FAULT_FALLBACK_CHARGE, > MTHP_STAT_ZSWPOUT, > MTHP_STAT_SWPIN, > + MTHP_STAT_SWPIN_FALLBACK, > MTHP_STAT_SWPOUT, > MTHP_STAT_SWPOUT_FALLBACK, > MTHP_STAT_SHMEM_ALLOC, > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index ee335d96fc39..6b089a41acef 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -617,6 +617,7 @@ 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(swpin, MTHP_STAT_SWPIN); > +DEFINE_MTHP_STAT_ATTR(swpin_fallback, MTHP_STAT_SWPIN_FALLBACK); > DEFINE_MTHP_STAT_ATTR(swpout, MTHP_STAT_SWPOUT); > DEFINE_MTHP_STAT_ATTR(swpout_fallback, MTHP_STAT_SWPOUT_FALLBACK); > #ifdef CONFIG_SHMEM > @@ -637,6 +638,7 @@ static struct attribute *anon_stats_attrs[] =3D { > #ifndef CONFIG_SHMEM > &zswpout_attr.attr, > &swpin_attr.attr, > + &swpin_fallback_attr.attr, > &swpout_attr.attr, > &swpout_fallback_attr.attr, > #endif > @@ -669,6 +671,7 @@ static struct attribute *any_stats_attrs[] =3D { > #ifdef CONFIG_SHMEM > &zswpout_attr.attr, > &swpin_attr.attr, > + &swpin_fallback_attr.attr, > &swpout_attr.attr, > &swpout_fallback_attr.attr, > #endif > diff --git a/mm/memory.c b/mm/memory.c > index 209885a4134f..7cda8b65e0c9 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -4191,6 +4191,7 @@ static struct folio *alloc_swap_folio(struct vm_fau= lt *vmf) > return folio; > folio_put(folio); > } > + count_mthp_stat(order, MTHP_STAT_SWPIN_FALLBACK); > order =3D next_order(&orders, order); > } > > -- > 2.45.0 > Thanks Barry