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 6DBB1C07545 for ; Tue, 24 Oct 2023 17:39:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 031656B02D2; Tue, 24 Oct 2023 13:39:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F22446B02D3; Tue, 24 Oct 2023 13:39:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E11F96B02D4; Tue, 24 Oct 2023 13:39:24 -0400 (EDT) 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 D01936B02D2 for ; Tue, 24 Oct 2023 13:39:24 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A9CF912062F for ; Tue, 24 Oct 2023 17:39:24 +0000 (UTC) X-FDA: 81381066648.20.E73710A Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) by imf09.hostedemail.com (Postfix) with ESMTP id DAA8E140022 for ; Tue, 24 Oct 2023 17:39:22 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RQ3V0lli; spf=pass (imf09.hostedemail.com: domain of shy828301@gmail.com designates 209.85.215.176 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=1698169162; a=rsa-sha256; cv=none; b=39Vu4km9Mvdh7zVerU14SeuALf0+fjB6jO7DfCFryvaz88MJGnbX0kQIvzB48dHCRr6+sD q9OwkNWF8uOz370HP6FzYByRwohY9TXg8qH7RgjHZpUK/xs7FkaONTCnFfy4iUlNDOijWT BqpDcAYPEj2rPs1MspXD0UhdYAiC9Ys= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RQ3V0lli; spf=pass (imf09.hostedemail.com: domain of shy828301@gmail.com designates 209.85.215.176 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=1698169162; 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=fh/V28St3W/9eHmyATqjDrrxXI3buY6hWbnciYhV7KA=; b=LVV7TW0s20x0VWVI1xzjIDpoXguAay21FQt90+MC9XpkX1mAF/3GgIA8xPU6eRCpF+bpdz DDHHyUoGJcIPHW54hsIqbhgoBOD7L0Xw/JXqjvEQjuLtxE8nvE9Rs0IYHf1MCSO+G4GoU/ V51odcrYquqsHzeMXxTBrVtNfbKW924= Received: by mail-pg1-f176.google.com with SMTP id 41be03b00d2f7-5b8ece0f440so587474a12.1 for ; Tue, 24 Oct 2023 10:39:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698169162; x=1698773962; 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=fh/V28St3W/9eHmyATqjDrrxXI3buY6hWbnciYhV7KA=; b=RQ3V0lliz/lByymk0cgFDTAU9T8mY7yksz3ARvPsPlTTNRSPPvR6qWROyLdAc/jJp7 kn67PLTx5EX58XndbtuM2qhIKPg0R3ArV9caEP1ah6GVizi/m4/AM0/GmH16zqc7DJbX 01TXOivT+0ZDqok+FKUV58rC0NEvfHa5euFHDpwDIG06boodmVGrEdFXg0IC5ykJ7Ffz /dRXzvu44jcAygbSNs0TzrxCrQIoKLw7M3QsYnVjY62T5DwdhWG705XtMBAmZnMlNaoj IKhVkb8WxH6gbAqDaZ2BqftPT3cZPazWObD7I6t7+lANqS95kYnMG2VeIroQQ9mOyzwu fowQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698169162; x=1698773962; 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=fh/V28St3W/9eHmyATqjDrrxXI3buY6hWbnciYhV7KA=; b=pQLIPFDH4A/d/ZB73p7w5jrtlaZLPt+NY7sxkoiRdbrc1vuxx8G4Nwg2JOwoJE6dpy VC8yToRHIwOP2EQEJWPwRULPE/scjN0yFPNhD+qxyFT05KtrzAIAjpcUgwH61E8Tf1R8 CAzb67JQUvjsChLa4sbb/2rYjev55rJtKeTtRGfaP8OVPQyDBGPrzbeMy2uoP8oDeOYe hPpT2ncFsf6CQrTBkQLOPTSWmBgbSnw1KzL1yBffXQ1jdX/xPVuJr6Nc8TVzCbfHu2hg uAXh4pxch8lek4iXXOaXij98BaSLvlk8IDDOsIbfNWHPdz1xum+kYWlDJDLJ6y6SNaeZ EdKQ== X-Gm-Message-State: AOJu0Yzo5Nq2cVIn/C1OO61c0MwppnvNHUoUF8Tv1degeMYny4ka74zy /oq0pr2v18Rq4oy44IBM+iRwo68xG/eJTlZyGVgsKYP2 X-Google-Smtp-Source: AGHT+IFpDGG6W98PYI7K3wmeTQtI42cl6sPEOd0zYu5D1LCkIlODoz0rvnjvooP5XkNLrFJ42pqCR8qPUqYK/748IwU= X-Received: by 2002:a17:90b:f85:b0:27d:75f2:a3ee with SMTP id ft5-20020a17090b0f8500b0027d75f2a3eemr10898508pjb.10.1698169161902; Tue, 24 Oct 2023 10:39:21 -0700 (PDT) MIME-Version: 1.0 References: <20231020183331.10770-1-vishal.moola@gmail.com> <20231020183331.10770-4-vishal.moola@gmail.com> In-Reply-To: <20231020183331.10770-4-vishal.moola@gmail.com> From: Yang Shi Date: Tue, 24 Oct 2023 10:39:10 -0700 Message-ID: Subject: Re: [PATCH v3 3/5] mm/khugepaged: Convert is_refcount_suitable() to use folios To: "Vishal Moola (Oracle)" Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: DAA8E140022 X-Stat-Signature: 9nj6micri5tm8kuzjugwswggi1mrgo67 X-Rspam-User: X-HE-Tag: 1698169162-282479 X-HE-Meta: U2FsdGVkX1/+74wK7IZ4D80iNpeekIMozuiXfttax+no4GrFlinY4Gka3ItOcFhWbBwCulJ5QtoXFhD+Nkkko2s0NWfV/a0uAER89/qjktW2rGPg/MMUIbhPr3qjCLTOwxYWlS0vfExkhHX+BYCLvOVWjBtZ27J3qkwRJm81M9Ii8RNhS7yuaSIfrpnC0sXf1i+wD5xA35NtIReklME6seYkVM3wdmcGcppfB9HeBvwH/p+ERjHDAPW3lUwSv7x29zKdhRD6+a0rB2RGcqRphxeXiqoGKh2v1AVR9K8m4c8hAKZY/CBuwCEgZYpuWrU12rT8jWD82u5GWDs/z/2/uUMOKsYPtaESfYP2uRCVUVX1LFEYfMcjg5OLeCupZgHBzXozJXcEDcX2K9iIS2+kuBKsU4LQtbpbcgZCSvU1PMC6xstuye84w4DXwxcz+PkMARO94oOc0QWDNQc8qZiEpDy9GD4d5WQoE36xui8Ur5i2yYfM5Km2eoUGOyM7Flmapyvfhzgr3PrX0sB4Oysd5l2kJAJlbxmh8Grbcg66zV9n8Ac3Mj+XM8SdL4jAppJDEDjbdADu2At4wE64yZGlAwY7PJARXuX+iEbMIcmAG55XL8LnlvVz1abWE5srP3Vw9Z9sUhkGaKwKDZgSWVGEZPhl0tqGOVlR+fDcacvbX+hsHDoMFft4o6/xZAT7EJTYdmcWERhlKck+eqjtLpUGgTH/Xi+r4i9vSIc+Gk4uK2i+hDgaz4hOkWXPpoCV6MpOptddl064lgWfrHPas99iODQuY5kkFqlOHhwL9jsrUkiEjokaxzRi8HO9sdCKyDx5dAkTyl76maXq2VincWGBbLgLgoJrZhO1CH6JTrt3q3aL+Ry0rZ6WfI1JFZhMQzrXC5Z8vnYUj4BDmuxZz0mZO/8LqVkcYmEwwpn+P3RQrbmG5wT0ETYdnDuaWqf6kWw2zG6po6IQSQdGVGae3tl gbs+x/Is 8PZKw6YtT3lUD+mdfagh4qlkgUNYx2cxyS+kT4/fCedpIKccklQrvJOfBEGkae2CFmXC3oyexHTH+4HSWubgNeiY8xcvp+4Qc/SR5b6RwnKnEKnNudBCHHLGp3WQVTuvLpyy7/tGnzJX9oW7KfkZLQC+iZvs3d1MLTQIF2jmeU/aIQi4amT5lRwId+krLk71+WRRjBkRQli6nOwTbCPgWESi8HucRsQSxWn7ZV4pf2kfyasMRpW6uXJX/kwUdLatznz1kLdvII7rYKbjrq7AQJuh0YC/L8cD1Unq1IbVMhTqh9fqRZ2q5osuV+qpqC2vtsrfPgmsoxIj8qIidM2FLMez2/DiUT2ICeTW3exLVxyfh5Qfbi+yvSmtSbuypdwbwsqtQicqcg8fLkzT10egzyIQ+Ef57SWEd6gZbdBvgbWwFMv0Eq6KYazk/ZSPoylUxyXFfrrmFntbgdrmXurTBNo/C8DDPndy0ACz+GHe1Z4CzOdk= 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, Oct 20, 2023 at 11:34=E2=80=AFAM Vishal Moola (Oracle) wrote: > > Both callers of is_refcount_suitable() have been converted to use > folios, so convert it to take in a folio. Both callers only operate on > head pages of folios so mapcount/refcount conversions here are trivial. > > Removes 3 calls to compound head, and removes 315 bytes of kernel text. > > Signed-off-by: Vishal Moola (Oracle) Reviewed-by: Yang Shi > --- > mm/khugepaged.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index 6c4b5af43371..9efd8ff68f06 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -524,15 +524,15 @@ static void release_pte_pages(pte_t *pte, pte_t *_p= te, > } > } > > -static bool is_refcount_suitable(struct page *page) > +static bool is_refcount_suitable(struct folio *folio) > { > int expected_refcount; > > - expected_refcount =3D total_mapcount(page); > - if (PageSwapCache(page)) > - expected_refcount +=3D compound_nr(page); > + expected_refcount =3D folio_mapcount(folio); > + if (folio_test_swapcache(folio)) > + expected_refcount +=3D folio_nr_pages(folio); > > - return page_count(page) =3D=3D expected_refcount; > + return folio_ref_count(folio) =3D=3D expected_refcount; > } > > static int __collapse_huge_page_isolate(struct vm_area_struct *vma, > @@ -625,7 +625,7 @@ static int __collapse_huge_page_isolate(struct vm_are= a_struct *vma, > * but not from this process. The other process cannot wr= ite to > * the page, only trigger CoW. > */ > - if (!is_refcount_suitable(&folio->page)) { > + if (!is_refcount_suitable(folio)) { > folio_unlock(folio); > result =3D SCAN_PAGE_COUNT; > goto out; > @@ -1371,7 +1371,7 @@ static int hpage_collapse_scan_pmd(struct mm_struct= *mm, > * has excessive GUP pins (i.e. 512). Anyway the same ch= eck > * will be done again later the risk seems low. > */ > - if (!is_refcount_suitable(&folio->page)) { > + if (!is_refcount_suitable(folio)) { > result =3D SCAN_PAGE_COUNT; > goto out_unmap; > } > -- > 2.40.1 > >