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 A197FC433EF for ; Wed, 5 Jan 2022 07:50:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1ADE66B0071; Wed, 5 Jan 2022 02:50:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 15EDB6B0073; Wed, 5 Jan 2022 02:50:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F18FC6B0074; Wed, 5 Jan 2022 02:50:40 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0107.hostedemail.com [216.40.44.107]) by kanga.kvack.org (Postfix) with ESMTP id DF0EC6B0071 for ; Wed, 5 Jan 2022 02:50:40 -0500 (EST) Received: from smtpin14.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 8D2D98249980 for ; Wed, 5 Jan 2022 07:50:40 +0000 (UTC) X-FDA: 78995461440.14.761FFC0 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2062.outbound.protection.outlook.com [40.107.93.62]) by imf28.hostedemail.com (Postfix) with ESMTP id EE352C0010 for ; Wed, 5 Jan 2022 07:50:39 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DSa/2iThJc++jyhEHl3YTPSbkXhms7yp1U+1emztLkmzdhz6l/QSaq8u+wsk3O+SjaJbxvZBT075QjIAFQIKGylTJ3EC/p32qFQ5L9MCrIQNvDLMvuIV6+e9i+uFSjkXxhsuAecDnOqbVbLzhQPPTUERGS77q2HxQyk8KfJ5oT8jXjjUACBBoEx7xOtw2gNUNMvVG5Obl3eRYHLhbm6+FYXQgS0dCqTywAoeo6So90cBzGaEXb/5rkeCYzzCBLzD67ZedHPUiPpPnF2wdr2SrVVLpoQQogHjP25jq+jZBw0N5Qa9t5WXpq401fZ/1i3Oq9uvYO/5ZrsSJu+lIoFW5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HVahmOZWtWsFrqdAxen/+hL+4HN062JEFfDoFeT/7R0=; b=VFHh2HgHgOQaEvWWGSLuNmVRn5jnZ5Enlst16NPlImi+z9nwaO+71RF9RNr9Ksxyhk5HwzKTNM7ntUh300W10aJmQh7vCQiSMvg3al5gKmXUXPOgd8VzJEUvWQKVzf7NNlNNtpEfLyPtiXlkq3Nk0Tq+QjOd2zj8QnA0ON+s63P/obicqc+JYLwosL5PUL//bQLX7dKfd2ckBzBtPk+1FqRmXWWs7AQEwy8mgt6cM8qVwSZroefHKccxKRzNbcUk0gF7+lEG6Zsi7aaqV8JYyqfHEClfvQhsVh4wzNhGHcGIcuro98IjiW7DppRJ1B8DVhchuOYmZsG1iImnPUo/2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HVahmOZWtWsFrqdAxen/+hL+4HN062JEFfDoFeT/7R0=; b=O41Ytxt5WrydqzzN5Fw2GMndu0/jEMnGrFycjScpLkj4nz97Ar7bn0Q4VNcrSFWfRH0+U6DlQjlJYqqiIZQUsR03UYLPTCDfpJ2Ox9uncB80DYmN5Urp6GVSnCtflFwwEtf5VSn9DTxGc6yCr+02S6X2qFLGcABe0cWqDiBQf2Vi1zuJX8hQ1gioTfNGAPOUzY9/RZWubysw+I7TdxMTZvOZARFejo81GLDzabBMcmUZwpFWMbajrJNOdFR/r/AFp4lCeulrMpjYbM56GM9TKheaO9nStvn4KSLW2QwFuwUfdknzwL8vwwQkXchu/Yl4UES5GwgQurB5ITPNwamEXQ== Received: from BY5PR12MB4130.namprd12.prod.outlook.com (2603:10b6:a03:20b::16) by BYAPR12MB2822.namprd12.prod.outlook.com (2603:10b6:a03:9a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Wed, 5 Jan 2022 07:50:37 +0000 Received: from BY5PR12MB4130.namprd12.prod.outlook.com ([fe80::8496:16fd:65c5:4af7]) by BY5PR12MB4130.namprd12.prod.outlook.com ([fe80::8496:16fd:65c5:4af7%4]) with mapi id 15.20.4844.015; Wed, 5 Jan 2022 07:50:37 +0000 Message-ID: <62ec129a-6f21-d279-36e1-07b42878a066@nvidia.com> Date: Tue, 4 Jan 2022 23:50:36 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Subject: Re: [PATCH 11/17] gup: Convert gup_huge_pmd() to use a folio Content-Language: en-US To: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org Cc: Andrew Morton References: <20220102215729.2943705-1-willy@infradead.org> <20220102215729.2943705-12-willy@infradead.org> From: John Hubbard In-Reply-To: <20220102215729.2943705-12-willy@infradead.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SJ0PR03CA0371.namprd03.prod.outlook.com (2603:10b6:a03:3a1::16) To BY5PR12MB4130.namprd12.prod.outlook.com (2603:10b6:a03:20b::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e90654cb-dd79-4a92-d703-08d9d0201007 X-MS-TrafficTypeDiagnostic: BYAPR12MB2822:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:439; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mwSt/MSNDiqxfq1W4pJQrsV7kBNyg02tkKH++TBtoHDCAc88RbqB5jDaMjxP1Wklpm3n1vtZUwbDMhHgHGb4Xy9pf9Qb3ARRt9mobD+tKcO8uVM65Vd9E8nBVoSIFv0YuotmcJPUpOaXC+NTCYCNSKnj6WHWc37mR3kSnW8yi8c3sbr35+Ls+4jC/ag6afbyxOo0yp1pLoVB9aoD+KHU0OHmVdFYsKbq1JCrxRlNis5y3uHeFnorRLLzyL30tyZCJSW4YWAFj473J7sIp7l4/QOfHKLe2bmMwA9qXwyptShS2SKxtCzic0lhW3yloP4YYdC6GZOLRBOZZrTVRYt3cKf4ToQozCUj9IhMcIki/gtO7aSeG1ivoNQ5vs6V34OTWVFaYcyN1lQl28QGWBdZcV3BnMWjJ3wtTcRIjydigrEidpu2i8pbWlbExx2QAcAq/hFchtrZWoSuV0IkOqPTn5vgD7nLpcpYYx/DD2L/Cb3brAfVvh8hmFCZpWGVxbtWomD3x2PtFE2rucDNmW3lwUVatCnKqV54rLtGXDYoczaaeENWzqDF/SAQklvioEN3ONdv9NqnDtY+6M/f+Uc8qJs5z8k8gsyWJhj1Fg3Wn5wqCFYbnscw1OgWzGHI//lSClnTjrASYpaGUev2fCdKrO1AvGUMdteNCT/NG+Qi6qp+f043y8vFDL0hoVzokcOhM72UXQb5D8bSsltERcPcvUjk4W82xLctThuL6i2k2D02jZ4sFGa0ZaQ8p3zMOaWt X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR12MB4130.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(26005)(186003)(38100700002)(36756003)(8676002)(53546011)(31686004)(8936002)(2906002)(316002)(66946007)(6506007)(86362001)(4326008)(6486002)(2616005)(83380400001)(31696002)(5660300002)(66556008)(6512007)(66476007)(508600001)(14583001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SUc1YzJUazQrd3ZwNG9TeFAwOVFyc1laVlZUUUpZdzZlaHBJUUFQQ2Rib1E1?= =?utf-8?B?UGFqMkIvYmtyUGZIL3dqK2ZLY0lTbVZSakcvL1Nnemt5b2ZNMGdwYjh3NUlX?= =?utf-8?B?dFJoN2NZZ0d4Qk9CUFJMZzVIWUtNeFYvZjd4aTcwb0Q2U0NLNGpiRWt2aUtr?= =?utf-8?B?WitiWjBLS2laMGRrSmVGNm9salU2dWRTMVh6aEJBd3RTNTk1aU0rMjJrRzR3?= =?utf-8?B?ZzArbjI1cUNhekoycVRJaDMxeVVaQmUvek13c0xlQS9iM0J0R3A4aXFuOW1N?= =?utf-8?B?b0xGanBUK0xXMGVqN0g0dlFQbVNrdUVGYi9Bc2oybG95UlZFU0FrWjZ1eWw4?= =?utf-8?B?NWJxTXBOeGtWL0VyVDZraFpXWDJQYlhiRmJrOHk3bytNRGNib3JMZWF1L3ZR?= =?utf-8?B?NVNNYWxPT2tYODlSZlNFTTNMVW01ejBvVG1QOGoybFV4b0xMZDVBRXp4cXJo?= =?utf-8?B?bnB3MXRRSnExbVUzVGtrdVVCd2tKWE1VazhBcTVwS250S0dwT2FnNHNhSVJH?= =?utf-8?B?SEdTaWdSR2dOb3F4dFVwYWdIdWp0WWJkYmExSnVNdHdyQk1QbThkdEJwQ05Z?= =?utf-8?B?WTR1amV6RUFSL0xzdFJURU9VdXVObURlTi9qQUNTaWtWdnJPRHl4d2d3aHFO?= =?utf-8?B?V0xJbVlhaFVReGZtaFVXOTJjQWJrV1NtU1YrT3JSbkRMQWdQTS9LNHpLVVIr?= =?utf-8?B?bVI4REhOR0V5YVBDaFh2aXdvNGJmVEl6eEZZNVAydjdROWNWRmhVMUxJZHJJ?= =?utf-8?B?UFExZ2dEN2RrWlhVdXJ6Q3Y2bXc2WFFuMzlrTm1EUXdKRE9RQXVZcUdSVEFz?= =?utf-8?B?SldXcnNOK1BiYlQrL1hnSnNoN1VjZEtLVmQyNHp1NEFDWVJ4SVU4TitnQ2NM?= =?utf-8?B?MHV3MFhUWEY4MWVHQWNEdWQyVFJNQnRReXI4ODFSNlRIWDloSkpMc28xaDBt?= =?utf-8?B?TzYyZ2h2Qk1ETXcwYlBabXV5L1JTdjZHbkpUM1lvZkxFbmhGaHBZd2xhUWhV?= =?utf-8?B?NEY4b3hrRmRBUnlsSTl6aVBPbnRLYS9haWIybWZRSm1yeTkrNDBoYkZDcGhM?= =?utf-8?B?OC9RcjZ0Qng1RnZJNUlvdU1iVTlqa3pxNENTM0Q4cmRlb3VKVjZYelRPNmU5?= =?utf-8?B?Mm9jSGRhUkFaQ3pNNk9kWmtFcmVPMTl4eHN2U0tZekpuS3luVVZCUlBtS29u?= =?utf-8?B?R2VoaHc5Tm9ybVRURWdyQTlUVGwzZWhKV2FpK0UrVGNDdGVBY3BVN0lLeGt3?= =?utf-8?B?Zit0ZnZPU3JVWW1BVGh4WTJjeHorSWVPZTdOYWRoN0FFSzFzaVVYRXFrU2Vm?= =?utf-8?B?anRXS2dzTU5HQU5uV0xIaWNxazhBbGFSWFdVM1o5Z2VydzRRdGpRSThTZkk4?= =?utf-8?B?VmdyVVpFdU11YkgzeGFoVTJqdEo3aWxvMTJOZ3Q4YjQzYjZ1R3ZOdytkNWhr?= =?utf-8?B?QmlBREY0UkxNUkVRZWlIV1k1MkdlRW5LTlp3K2dpVUxlSWRQSlhGcEtRU0sr?= =?utf-8?B?cW5YRnlXMXpGYklkZEVFSHhWM2NLWTBhQlZwdCtBNHMzZ3kzK1FUK0JLaDNI?= =?utf-8?B?Y081UmNLRWJkQStQSitmVWpLZ2ZRcjVPaHdSUkxXK3Y4cTZMZGxJZkhxWHJP?= =?utf-8?B?R3JJQ3VkMDhOendvWmYzWm5yS1dIMUZycDF4SGhLSHI5K3RhQW5OS29pQmNL?= =?utf-8?B?a0hqQzVXSGtHNEp6TG44UU5YUVJ2TXZSdzJRU2lRQXRjYmt3cXlLTUl0b0h3?= =?utf-8?B?Nk9VQ1RyWVpkOFp3WmhsbEVMeFN6eU1hWmR3ME9yTkFtVElBMWJBWksrWlJp?= =?utf-8?B?Y0FpVGlQcUtnZ0k3M3ZrTWNUUmtNanc4WlUwZXhkY1pzZmRlSzJxQWQxNjY0?= =?utf-8?B?Rk13NEVCM2dYUEdWTkMwd0tWc2RhRXNLOEcrYU5sZE0xbmFQd0I5c2xiTmZs?= =?utf-8?B?cjNBcnFuZmtoTVNwUDFET0N0bkdJMzNxUXZyZk4vSVVJeVZUeTB4U2dnMkRY?= =?utf-8?B?M2ZkTWVJUXBvVmxaMzNHYnFTSjdoT1BGc3kvQStuWERMVGZyWlc2MXZmdG8x?= =?utf-8?B?dHRVUzR0cUZ4Rzc5d0NJdFNTZS9GbklOY2ZWM2FYVFd1ZWo5eUlidHllb0hs?= =?utf-8?B?WGFCQ0RMQlVka0FXNTZ2TStIeFBmY3JSSVVtNWk3bEg1VUpaOU5pOXVaMzZH?= =?utf-8?Q?7ds26A4hsDRrtI5nPwHRhnE=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: e90654cb-dd79-4a92-d703-08d9d0201007 X-MS-Exchange-CrossTenant-AuthSource: BY5PR12MB4130.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 07:50:37.7522 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bNQu5QhxGfYyTjPih8enw/+9UPQdVcfr2sBJYf0/fNRYWDcM+jlCgDHMd2PDM7CpQ1w2YzW5RSA7WivLz8MQ/w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB2822 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: EE352C0010 X-Stat-Signature: f171tao4rbkk59iefapus4msc98y3sdu Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=O41Ytxt5; spf=none (imf28.hostedemail.com: domain of jhubbard@nvidia.com has no SPF policy when checking 40.107.93.62) smtp.mailfrom=jhubbard@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com X-HE-Tag: 1641369039-352996 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: On 1/2/22 13:57, Matthew Wilcox (Oracle) wrote: > Use the new folio-based APIs. Also fix an assumption that memmap is > contiguous. > > Signed-off-by: Matthew Wilcox (Oracle) > --- > mm/gup.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) Reviewed-by: John Hubbard thanks, -- John Hubbard NVIDIA > > diff --git a/mm/gup.c b/mm/gup.c > index 1c7fb668b46d..be965c965484 100644 > --- a/mm/gup.c > +++ b/mm/gup.c > @@ -2517,7 +2517,8 @@ static int gup_huge_pmd(pmd_t orig, pmd_t *pmdp, unsigned long addr, > unsigned long end, unsigned int flags, > struct page **pages, int *nr) > { > - struct page *head, *page; > + struct page *page; > + struct folio *folio; > int refs; > > if (!pmd_access_permitted(orig, flags & FOLL_WRITE)) > @@ -2530,20 +2531,20 @@ static int gup_huge_pmd(pmd_t orig, pmd_t *pmdp, unsigned long addr, > pages, nr); > } > > - page = pmd_page(orig) + ((addr & ~PMD_MASK) >> PAGE_SHIFT); > + page = nth_page(pmd_page(orig), (addr & ~PMD_MASK) >> PAGE_SHIFT); > refs = record_subpages(page, addr, end, pages + *nr); > > - head = try_grab_compound_head(pmd_page(orig), refs, flags); > - if (!head) > + folio = try_grab_folio(page, refs, flags); > + if (!folio) > return 0; > > if (unlikely(pmd_val(orig) != pmd_val(*pmdp))) { > - put_compound_head(head, refs, flags); > + gup_put_folio(folio, refs, flags); > return 0; > } > > *nr += refs; > - SetPageReferenced(head); > + folio_set_referenced(folio); > return 1; > } >