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 A9ED2D1624F for ; Mon, 14 Oct 2024 12:10:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2303D6B0082; Mon, 14 Oct 2024 08:10:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1BA126B0083; Mon, 14 Oct 2024 08:10:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 033616B0085; Mon, 14 Oct 2024 08:10:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id DA4026B0082 for ; Mon, 14 Oct 2024 08:10:03 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id BB0D31C6295 for ; Mon, 14 Oct 2024 12:09:54 +0000 (UTC) X-FDA: 82672089402.29.9D4A09A Received: from mail-yb1-f181.google.com (mail-yb1-f181.google.com [209.85.219.181]) by imf03.hostedemail.com (Postfix) with ESMTP id 56EAA2001E for ; Mon, 14 Oct 2024 12:09:58 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=H9lmgsUj; spf=pass (imf03.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.219.181 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=1728907659; 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=VevvSWbfTbI4kr7NbbWbmKgy6qwPGN0N31A8z+Cb31A=; b=T4hxO6cCsqIeHPM2lG5cK+NoIRKGlWoDq3U5disjFLZ5/+Z3YHndaxw04J9ChpcJIen0yp 3f3nqe6EYc//iM6Hj2AIW7hQYaWV3WpQbpzzu6gWvz/ilwjUtroEsIjlMbnpsGeuv3D96x tfq+RZ1EF5Or/pKKyWPAVAiY8cbabwo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728907659; a=rsa-sha256; cv=none; b=a53WCBheStJrq2cRTgxxWdzZAm8beGxPJR9hzQo9TgfHA9+k4b3z3XEbVIVgX/m9gBc9Z6 b80hWMGTcoN2+mSQ+3CrCNSwNWPjmO8jdyofidl0LNGUVUhzaJ9p9rwtkYiE73IajHtnt6 Zn/kfoWuB1+AtE1V7bHPXgAudobwWqo= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=H9lmgsUj; spf=pass (imf03.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.219.181 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yb1-f181.google.com with SMTP id 3f1490d57ef6-e2910d4a247so3192150276.2 for ; Mon, 14 Oct 2024 05:10:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1728907800; x=1729512600; 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=VevvSWbfTbI4kr7NbbWbmKgy6qwPGN0N31A8z+Cb31A=; b=H9lmgsUjm8KD/R8MZzoAHXSreAoLowYbpqq089ZbgbNroyX133vuVmHnHYCjFgHec6 byGEv5E/9XrF3lvpaa6NVZBR/1otjDk3JvgaIS/JfCBgB630ejrpYVKvkdACXRPPsINH cEUkRwkFFV+oXr+GvHIbYOjVSfyMLqUiAYi6T31cc8Zp5vv4ll1vfD3VJqeWy0/DuMYm 6tDmlYlZW+Jx8x+tf2gc6z8hXOT3BGDfH6szjk+sBNrntJT4iQljeiBD5mwEz7hrNUzA 1CurL/woUzOlasdM1212o730NKd0rkNIAOIZCwUFm8LWARuXnMGhoceF6esSuBye6S+D T+XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728907800; x=1729512600; 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=VevvSWbfTbI4kr7NbbWbmKgy6qwPGN0N31A8z+Cb31A=; b=KNqlPIQ2S9BmCN+/yXLLbQIxp4DPwDyYX1lNfbqBdwwMSU76vFoM1IqlkDmsfk1zbU FxKQgAL49j8OBY/O5i05jkgKkWJxr/iItHgSdClZvIlKjlRFa10nB3fX9KiK37NrXq3e Gn5QmXyIfB4ri8Bjd+1jUxIiMxaU/qX0HRZrM3jDXlq7dqXswbH/XdHRkeDfF1pO0+H/ L42Y4amoSUwcsbscHulgLSU/BWssjZTxiXOhNw9tPGaZRUL1HIz0RchaTi7tA/9Kpk9v 4Z9Y1jNeo/fmh7xMC/Ir/i/RLIECPStCl4Aabr8c1KaLWAfZCVVxu+cEN3tVRijlHP3A fqkQ== X-Forwarded-Encrypted: i=1; AJvYcCWph9NE4OqdySuyHpPG6QXn5k5tPx7rI70jOcO/c/NSwpqhzZlJI0cPdAfku+CTRguJr0Ao7WCSuQ==@kvack.org X-Gm-Message-State: AOJu0Yxjw4kUsRT5qWCelb/bbAohGFRFc55GkaRaYJAwt98EgEMRNnwO WiOLOu9EvccFuSrTybYKpVe7eO+9/adQ5WdsUHwNauu3+UH1M2rHp3XD2T8F9CpZGKsz7TRDzpa hMuEUqRia2LYN9czkOvhkUXCWfwk= X-Google-Smtp-Source: AGHT+IH7FzebbLM4Dxebzmr6WDsWW42x0eAUD0MeXR6sXUru9rfeO6cpRYzOCISM46t5SqVYx3VL/MsDkQF5vdXQQlY= X-Received: by 2002:a25:d8d6:0:b0:e29:3bb6:d650 with SMTP id 3f1490d57ef6-e293d80c2a4mr3336153276.21.1728907800518; Mon, 14 Oct 2024 05:10:00 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Barry Song <21cnbao@gmail.com> Date: Mon, 14 Oct 2024 20:09:49 +0800 Message-ID: Subject: Re: [PATCH] mm: khugepaged: fix the incorrect statistics when collapsing large file folios To: Baolin Wang Cc: akpm@linux-foundation.org, hughd@google.com, willy@infradead.org, david@redhat.com, ryan.roberts@arm.com, shy828301@gmail.com, ziy@nvidia.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 56EAA2001E X-Stat-Signature: 7cqcraxgb6rzh9zt6xj9q18mx6tetk3s X-HE-Tag: 1728907798-384125 X-HE-Meta: U2FsdGVkX19BvF+4e6NATkrDp1iKNyQP2VDqYx/vgHpCExGpB4qfT6XrG4zGDuIfegdxk5F9k/WQmqt/A6YzLUv7BobJGu8aUN58/fU6FusGoAywN5lf54SyJ8M9q4tiWHzDELUWIOC1L6GofmfJCeIRIZ3gzsDkaA0a3DA9XoeAtAHfb0EE0Ll5JJOlf7hOD8m/3/maNyoz4rVt+n1XcoAC6gjcy00LFZpAP9058pGGNRH11ltW2btJsM5t4SuCrvSUxSWjFkC5poAKeYbR7BrQxlsPXf0/laoIZyUnkujstcyyIsxdCxJdTpCXkGyRsY6MEAtg7Ccau8uTwadpK7V0nb+q/8Ip3nL/Wph/A8P6bqfQRp3l9ML3fRUTQiAVmSjeb+GyqkDiKLCBTB3wCYADTNM+l3A44Q3A/tm9K1YV26ARPl45ZMHcpCzb7asDwQklsBcq/5FF+dJ1ABhYMUr2VtuV/YiTQN6Y7lU3wwHHWdQvmAGcRCC25/ga6wsZLLF0cts6iIEJwsZ7gKcdGhOIbeKNqbyQcSZrjLDRoj9F/+xcfFaXgYwzqn4zIVc79KTQVrMaJJ0Olcv/lyuBtf/8LL2WJcxZVtlHsx990AwWYm/ywVD/wLiApfhBCNR/w80mMZ08RYvnR1QvY6vhbfa8qgrGmTy/6hVJUJzEJK/yDkVg11LBZOOxUNOkHGSRGvE0v2EjjUxGtUEF/ln1jDtRnqmw3mOrkgtGFyJb32DiXiZHMO6VHJvXnq6vIcjIjLDaS1ocKMz5P7kCPpB/dFcCuN+eeZ89fkTQgmBrU2Tyv8jwZiEvB/BETxdl1ZOPeyrezU7F56NE4MNDkDIpDI4XxaLeeVAa9MLWrPkCNPgoHb+BlkLj5Ht3AYvDoxLFc9HNjqxbXkR93tGGzrIepupXiMGdTI1q5RDCudVkmzgEZFlY+4oSgD2LEW6+Y4cTRkrmlgZLcPcavCbzm5A J+oVQse3 djTR7W+iaHxgMQsi5PnkH18bu117d0xv+UFOUeabvn+KbTUChgdD9w9w7tn5h0NFWfXN5nLjbwxyC24J5SxTmbZbTt9KVKNAkVZqi9jrzzryLWz63nBz44zXtvIjeblZL8f0Jvu1D1tB72dLOogfaGFqfw6WyfB6bNX1VeBG+IsGqsFPiZN7f+zKgnT99Okj+SUjydhIcPl9PGAzgALFF4tX0fxepXJ77XJjxhUXUe/cJZVnVfzNm96v9A8mv6Ximfqv1eu+Q5zEu1ZRenRho+idE6qZsoe+sfbqBzjyUgFR5dONQ5c3vXJsJ9os0AVIg0LlDKlbqRge26j3iL9yuTeXYKK4bMcffQ8KgKEOwiG3/TKTp71Ra4cSL+w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000017, 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 Mon, Oct 14, 2024 at 6:25=E2=80=AFPM Baolin Wang wrote: > > Khugepaged already supports collapsing file large folios (including shmem= mTHP) > by commit 7de856ffd007 ("mm: khugepaged: support shmem mTHP collapse"), a= nd the > control parameters in khugepaged: 'khugepaged_max_ptes_swap' and 'khugepa= ged_max_ptes_none', > still compare based on PTE granularity to determine whether a file collap= se is > needed. However, the statistics for 'present' and 'swap' in hpage_collaps= e_scan_file() > do not take into account the large folios, which may lead to incorrect ju= dgments > regarding the khugepaged_max_ptes_swap/none parameters, resulting in unne= cessary > file collapses. > > To fix this issue, take into account the large folios' statistics for 'pr= esent' > and 'swap' variables in the hpage_collapse_scan_file(). > > Fixes: 7de856ffd007 ("mm: khugepaged: support shmem mTHP collapse") > Signed-off-by: Baolin Wang Reviewed-by: Barry Song > --- > mm/khugepaged.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index ba28ba09fe89..6f8d46d107b4 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -2267,7 +2267,7 @@ static int hpage_collapse_scan_file(struct mm_struc= t *mm, unsigned long addr, > continue; > > if (xa_is_value(folio)) { > - ++swap; > + swap +=3D 1 << xas_get_order(&xas); > if (cc->is_khugepaged && > swap > khugepaged_max_ptes_swap) { > result =3D SCAN_EXCEED_SWAP_PTE; > @@ -2314,7 +2314,7 @@ static int hpage_collapse_scan_file(struct mm_struc= t *mm, unsigned long addr, > * is just too costly... > */ > > - present++; > + present +=3D folio_nr_pages(folio); > > if (need_resched()) { > xas_pause(&xas); > -- > 2.39.3 >