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 CBE3CD18151 for ; Mon, 14 Oct 2024 22:04:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5F37C6B0082; Mon, 14 Oct 2024 18:04:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5A3616B0083; Mon, 14 Oct 2024 18:04:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 492746B0085; Mon, 14 Oct 2024 18:04:05 -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 2A1B76B0082 for ; Mon, 14 Oct 2024 18:04:05 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 1ECCB8130B for ; Mon, 14 Oct 2024 22:03:57 +0000 (UTC) X-FDA: 82673586198.24.BE89975 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) by imf04.hostedemail.com (Postfix) with ESMTP id 85DA74000D for ; Mon, 14 Oct 2024 22:03:53 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CCuddi7A; spf=pass (imf04.hostedemail.com: domain of shy828301@gmail.com designates 209.85.208.41 as permitted sender) smtp.mailfrom=shy828301@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=1728943370; 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=Kx8NM0bdeYN9rCrOevOuCpiyugT4ieg6TW43vGbOgbI=; b=vP4cnMM7h7GBBSHPxPMMEivPcop03u6UWXygSkHrTNIvhuYRGPn7S2pSKmoBrexodpHkaX EodLErxb+jtlDkJ022SobmQuAcsvlhtUrUJeG0vhbGuTZuQ+Np8zYnweP3a4bTyvOSdC6j We+JB/PR4wuPvyZNY6GKAGwqOXu9B6c= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CCuddi7A; spf=pass (imf04.hostedemail.com: domain of shy828301@gmail.com designates 209.85.208.41 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728943370; a=rsa-sha256; cv=none; b=dxt12Qeeo9nN3ZAkpx+xps3qQZ1ZxEj18EuXnndp6La9p7ZttqN150fWBkgS+vhn479M3h 4I29NDVms1hUNBHt7A8qqTJstHaz2H6S/gfmzY77RHN/Ao6LpwKmoa7h5Vje4Qk96Fnr/Q ejXze0rCkf/FwcOuWgPIg9XoMp7p6O8= Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-5c97cc837c3so2102832a12.0 for ; Mon, 14 Oct 2024 15:04:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1728943441; x=1729548241; 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=Kx8NM0bdeYN9rCrOevOuCpiyugT4ieg6TW43vGbOgbI=; b=CCuddi7Ay8QF6O7Ye3bJX+DLVMrXJRIejpggmRZFHPlFZiMrOjfPeQTR9vN80pbTXd scK4e00MTpgR87hf+TYiY3XsDSyyxK4tMod5nUvzwarQNQExqW3gywzEF1IvnpxXYZey poHAmoqKlmOlSNdduyBlUx6rxJSpzKRcOwcY7IGu0P8Ay5Vb/QMxMXLf3ywkRlQTPxtV 8mZD4O04pp3lULZJbmKTUjGKQYZyhJ9ocgJuvLZHnatO9h6WJJ7tAE18Cy3Yd5DH1wY6 u8mkdX6vzDtIyJop+G8bO/V1BHZaOjhHjJYvSCkFCM3PgFLZSVqtdbPLPNEMZ5COJQVX 1vqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728943441; x=1729548241; 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=Kx8NM0bdeYN9rCrOevOuCpiyugT4ieg6TW43vGbOgbI=; b=nmWj7cbrbraoR4Fgl+vAG5v2gVJ6OrKUwT8+XM/+5AMaSzNcw7ily2y9JDVWD+pntA QyTYi+G4KiNR/nWWZyE44+Aac53DdPopKlPejJP56wsJhQJogzXjLgVnLDnKAKN8FzaW qqKOwky9t4AhTjui607GkFcMjI1HJFxXsfABv+GX89Bx/AoB6v22cS9fFzgLMINSnD+h W3GX76NfpKOcKWHzjK/yVQpAQUx4BSRrhcZQloIief4oZXCWVOoW0qUnN913ttJZTL9u BeFHXOU2Uhfi1T2SDh//VF8NjRRmRafnVazdxBgt9u842gliUMpF9OcSJ9SViNJHc0ua EbJw== X-Forwarded-Encrypted: i=1; AJvYcCVHtoRNsg8BTKLfQoHX8VDfV+M8Zn8LRbhVMUtVUHSweBO3wACG4eFAzLT61Gzk6xxkD2+GJ4rJPg==@kvack.org X-Gm-Message-State: AOJu0Yyk/4gQhbzsADDBkEkoa5v7mWs2aFV8esLH/aGmSoVIdYb+3u8C sQniRGQBMMulk1A/IKXWPJIwXrgGrojxHLOceBdhI7w+yucvKsvb9DbSuLqtPOHuMp8pMITcmgf 93mlMZ/mHEQW+TouXY3FMA+CRC5c= X-Google-Smtp-Source: AGHT+IH1au53PnEHPZpGVBw9/xMf5uc+ZKuMLIu75sipFRo4eJPp6kB8vAbXB2AteZ3k1ccGdMJyQ20z+UcpfglcAO0= X-Received: by 2002:a05:6402:358e:b0:5c0:903e:963a with SMTP id 4fb4d7f45d1cf-5c948dac35emr9155725a12.29.1728943440468; Mon, 14 Oct 2024 15:04:00 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Yang Shi Date: Mon, 14 Oct 2024 15:03:48 -0700 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, 21cnbao@gmail.com, ryan.roberts@arm.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-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 85DA74000D X-Stat-Signature: u4dgofpbppqbwdqouro8fz31eniztytf X-HE-Tag: 1728943433-251596 X-HE-Meta: U2FsdGVkX1+6ZdCbpGy/ucMSBao1aZEYVXUoukYDAtkfoBm8wbm4tRWGkaCCxl7jhZdHAcnDO7DheFs8AEV9+8gzbnZKKMNvbwwhHbd9w7SdahYnZGDi+Qob+/vpf6Ei09dGknQ86PDxjTIp8cSeyzYv9nWJvoAqX9Uq0MpEEDaUmW/DN5lx6VxSxrYJ2ZqPoFUs7j0uvaVko8A4r6xjcBePfQ7Qlm7wbk0quaFKjrUHWsH/IQZwr3EoS5S7pe5ZtUxW6d+YQpzbHiSOBRg459bFUpaUMN8tetbPW+NgvWalKJWYQV28c5Zrkjsg0d73m9UruluJXmrMrguCvWvLXw9dX0qykazJn/TqPz+BMN1XNHcrWFgdgXMzgvFI51UxQ+OXO60XJnI/XSOvcLRVTIr8HGLeLsl37zsyeXpdkZmbeNnHzMEpmyBQi2NIrYzf2wRxhTJF3ciqlbD7C5if7NJLG3Co1QUyaVH4DRMtPPTynUffJvYDJ28t2xD7NHAZFMS5FZNrilo3vgExMmk7/1W2DZbLzUfJuJK3BWbY40QabYjTau/l3gExgSTMe3GXXCaQeykQs3TnqD407AsVyTLHV7m+FUDYCpBKza0noyCh1jpk79hUH5ZVdWnh2USYGtkz9krpO54tG4Z/4IxYs+fwfPOQVst21cyFCJMoKJxo4GkMGnYN50Ts77qH1r9hEu2IbusXxKbNFx3lolubI/vFm1qgbafZKS3q5fE9p5w3zvWETuENsk3iFmdlJsayfE4dD4WPMkBx5N6W52mPMF9RxKzgcYxWjM/f2jAgVdNKKjScVECjW/9hUkKZ7/VOB+hgwxKm7TXmFDzKXxPsrwPbWCqZZeDIlWQHDpEz+QSD/W39tx9bnCHcILRCSZcm0GhblOyVnv/bsEEDYt+XFDN1d4EcP52GzAi25uFzNGtJfdX3RIBrkJNfLQ2PlvpPp0vbAnN3wJt8Yxl5hDT K8AjgLV4 T4/QSo/w0KXYwC4jreHVviVqbP9Lmo4e5dVvxHqZAQLbXoQSkThKJXVVgXhlK5FXoicb8Lug9Heh1AcfRLxLQKAlSazpRIt/cIPAeYyZabIoAhdP1JmX5z+knnVQXfv/wqy2qDg6h8RQTtqRzIcPsEfOpQVYyXJP6tbtluwGsz6EwwX5b7bHrS5IP6JrgOUTEz7RCeaTx5xjaEauV9WM5xlRxWJmRGyTwx8BKxHfX6YlNalGfh6qcCSNMhTb0RBUoEdp0kMwCPj/9yvu+ZWPpta/PO3p/HlUsGvQLMnS7o27gBQhFfhaPqCORR4gkFXyUlqfLM8kJyK/9lnFiX+aSeNJJHwbEf6CE4/k/DWqOAh9sxHQBuWOvUxYDpw== 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 Mon, Oct 14, 2024 at 3:25=E2=80=AFAM 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: Yang Shi > --- > 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 >