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 9F6E7C433F5 for ; Wed, 5 Jan 2022 07:58:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 268026B007D; Wed, 5 Jan 2022 02:58:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 217E46B007E; Wed, 5 Jan 2022 02:58:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0B85E6B0080; Wed, 5 Jan 2022 02:58:51 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0167.hostedemail.com [216.40.44.167]) by kanga.kvack.org (Postfix) with ESMTP id F13FE6B007D for ; Wed, 5 Jan 2022 02:58:50 -0500 (EST) Received: from smtpin21.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 9D9D618022295 for ; Wed, 5 Jan 2022 07:58:50 +0000 (UTC) X-FDA: 78995482020.21.946217B Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2062.outbound.protection.outlook.com [40.107.94.62]) by imf20.hostedemail.com (Postfix) with ESMTP id 773901C0003 for ; Wed, 5 Jan 2022 07:58:40 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fVWk6vPCeKWED0lTt8wlBiycAr0SvGv9LqUCa6JmHnNXfIzMPawVboS/O6lamnWllHKm4jUoKpgLT+9sSkVzt6wWLPkAWddk+w/Se0v1kWldWceBv6+9RQ3D30pzlizjqQvObwh7/4Bi7wJwd77HHd4KynQD/YtBMyI0d2wDNSHCac0tvvn1WK+t79P3P9Ddy0a+mi3Wm2PZ4eQGfVS1NSz0WK4cmvWkNS63StJFHBwuRH5+YVyXzlRdrQdBhxrcH10dHuWs3eGcRayLvpGzjog4cD8CCGO0RrZQ+dahwLR3KSdGqkhJGbm25PEnay3+w7M4TM5FHE1MTy4rzqEmXw== 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=xRtN/DkAVa3+RwfIaXva7GEFsrESpz3xH2SNwOJB9T4=; b=aompqhitKiOh/8Cm+rm23cTcnJzQ6AqOIXv3seIlc+XUrg3KFTvEjhJuoydiWlMsuICso9UZhe9tGPyLcxSx7ZUPik6nIXLc6Nxy3AVfiFvX62P/7uz98RZKhZQJTDlfz/hnbxaxsGJWhG7ggdwK1gXMFPTVAkG0iFdYbTTWeMyVEcbe0GwPsTCynDzW5G+Y/epZEGq1gIeB9SPIB29STlQk9UyeoYCbNC1EcZo0sLIrhL31KyGdHO95V3FgXXi8pWy/fpJtALFmQqyhu2rlKSqFUdc0lDlacx7KzeEIq+MP3kaQfE7AL+eOXc9UzrVZT3LQ7Oxy7KoqexvoAp9P6w== 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=xRtN/DkAVa3+RwfIaXva7GEFsrESpz3xH2SNwOJB9T4=; b=jWNJc934tPBSrpstFtD++Zcrbtrz1e3cxSqIYM8huDI9ySeJvub003OP+JQaJ/cAqSJJ5ibVqH9ji3kAgZ8qnxiEeu5NqL/Gr6ESVqgdJSEGue60QomNPAq1tP3MOVLZdNLqaNjcm39+HTKgk6JueSHHDp+S/LqnxEvQCcLmx9g4VRjIL4OlomINt6fXKJuuuJCAN5fh2kZO1a73kYqlzCfo/gIzpjcGBtXPGGnnepToRvt03zRY7uWTZCa53oCe8qd0WLG8BzfWVvIbnGzZcNSY8+ECHNsMaQlJHT9xhk3o0jMGRsNXBEthDYOQUrWR0w0GH3lTNAwtRbrrl9l1nA== Received: from BY5PR12MB4130.namprd12.prod.outlook.com (2603:10b6:a03:20b::16) by BY5PR12MB3713.namprd12.prod.outlook.com (2603:10b6:a03:1a6::22) 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:58:48 +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:58:48 +0000 Message-ID: <29e9bfee-0212-9e69-ee4a-b2bc0d3e222b@nvidia.com> Date: Tue, 4 Jan 2022 23:58:45 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Subject: Re: [PATCH 13/17] gup: Convert gup_huge_pgd() 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-14-willy@infradead.org> From: John Hubbard In-Reply-To: <20220102215729.2943705-14-willy@infradead.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SJ0PR13CA0113.namprd13.prod.outlook.com (2603:10b6:a03:2c5::28) 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: d2ceeca6-ec71-4917-04e3-08d9d0213427 X-MS-TrafficTypeDiagnostic: BY5PR12MB3713:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:751; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w/LozofiX4yQTLZPKMCUkBc9DZP5+RLb4QtGNu43i8trhU/+RQ7ADw0skLbMpcwdkjb1pVIGgvDaghSwjvC/ftIDsr1XaHR1IwmiyAloZJiy/smBu9lHtRDvNyZ5lYmNYcKvAsRnisMj9yW3QLG6mXy+h0nypmb/yWRwREzhXqPdiRBJXEhSelPG01ejWTB71QdoeqAmBGDfpZDHs90I//wYKr9lFBT7pZ9wEHT1Huc3koL3KigxSvDNe3Kaqj0cI4K8ittiYn7bsoWDDyGmQPHWhnFTyb1tZgA8KFpqg1B9MD6feu4LpeGZ8WnDzN5h3smtbjT9wcVIxkJv+vXttXkagiu8g4zGUlq59Tx9sxBMRJ9+1z6rSfLEjOfom26KWe8YFfS3PELM/pMMg7xYXgqLSj3oG0jNFWsShxzSJEPE7sPqUjRxAdH5vpR4ck5bma9esGo8fFD7P987Br6jahHR77YDZSOr1W0rpr2vyl5n1xxZi0aokNXxhrZ0zWuttXFIYy3lg/uq3f1YsM3ThjZdE5L0mtBG9NoNLJ8tnCQSjLuVLu5Y3F6jFgauyBrcqiEXXaY5HQBn0M4D/q69Dn20FHc1QMdpj0AzXiWtkrKISQVzN5XaXTWmT30t91n9xreQxRQcUk6pouHI7A/p614CVwAg+3RE5kcMJDfUQZg/gGREPkq28uKlFrl9h+9+mShcBRnqC3yiQmzeSXJvQqjlLARdfqrQgeKh1Y2LSoYbbb3yVjwQu1JWALmXs/jw 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)(316002)(8936002)(83380400001)(31696002)(31686004)(8676002)(66556008)(66946007)(66476007)(38100700002)(86362001)(508600001)(26005)(36756003)(4326008)(186003)(6486002)(6512007)(6666004)(53546011)(6506007)(2616005)(5660300002)(2906002)(14583001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cUpVNndhVU5XNHJlVXA0bDIzUlRITExya2ZhbytJREFmRXYrNyt5ZVRNU0Vs?= =?utf-8?B?RmVvNFY3VlFoTGtHMnZSS0g4NitTbzVMaHJ3cGw2akhMcHRxazNWZklwZ0Mx?= =?utf-8?B?ZVRYQ0M2U0ltQ0RJd2xRbERkMTFFZjNsbWVja3NFNytSYlQ1cGhxa2R1alJz?= =?utf-8?B?cHdxYUtiNjFmbW9HOHA2KzRmWVZraUJIaDRPMHNDZnlCWUxpUWdFMWNVaTBN?= =?utf-8?B?Z1NqeGE1dlBjR1pkYzFTdk9zZmxSYUdEVkVvTUM1SXZ2Nmd1YlZQM2xPYldF?= =?utf-8?B?V2YrLzdlYld6OVpzZFBOcko4V1RlN2NJNXJ2ZU5wRXYyUk9zWnh3eHUxTjdF?= =?utf-8?B?bFFtd2lzMFkzWmJWbldKVW04VExjRzJXc3NqK1dmcmdoU0FmV09kUDhiRmMv?= =?utf-8?B?UGtNVHN1UTU0eFB6c1g5d2c1RU9vTnl6TmxYdUpYalNNV3RacmpQSE1VSG8v?= =?utf-8?B?YVg2UUIyenlIclpPMW1YdlJnR3dIK3dKSjhPTDFDOGNIenVUdjBqN2JscnpJ?= =?utf-8?B?RmkvandLTmdSQUc0VkdETUIrWmN6djhvUDVFRjhLaU1yWWRWZVE5STJUSFpR?= =?utf-8?B?enliVDgvd2ZjMG0xdGFKNjRjOFoyRFc1WkxSRU9QV1Z4VUpGeDIvTFZXYlRx?= =?utf-8?B?THdsRVFBbFNMYkpOaitHSU5BeDZwM2NCQ3VOd2NlSDlLRnF3NmZFSk1lZ0NN?= =?utf-8?B?VzI4M2dBU0NHcytvelB0VDhqUUZFMFZoSmhVMkZnR240ZElKM1lOOTNmanZP?= =?utf-8?B?dnpSbGFjWC9mb05CajU1NWs4SzNUSk5XaEtKbmcybEtvKzJXdWNIQjFrVHRv?= =?utf-8?B?L0MyZGx6T0xMME1BL04xdTdGY1Q4OUs2MnZWNUJadTdpbFk5ZElQeWNXYjRZ?= =?utf-8?B?TTJrcmR3VytucnYxSTkzUDFJdE1SeTZQVU5NN3BSNHB2b09XQmFRa09mUzE2?= =?utf-8?B?V1YxYm1hN0VHY0R4dkFNN0J1Wk1CL0ZPV3NnUk40Qm5qdDRJUkZLaCtBOXBo?= =?utf-8?B?dEw1MTQxV1BKeHdxM3pncTc5S1NHdldKM3RSTHFQbzVxd1d0US9KL2I4b0c0?= =?utf-8?B?MW9OYU5WOWZiUDYrYWZIdzJ3UkZhYm13czUxZjV3a3U2RWZpNWpFeU90VGFW?= =?utf-8?B?NFQ1bnhUL1FaYVEveUZGSEdYSzR4eDJEMWJNa05ZOFR1N1NrMkpKMGc2b1lH?= =?utf-8?B?NnYrOFkwZnpmTHpRUTdvVDVLQ1FYdUUrU0x0cEVJajlDZE81QnZvV1RJZ3hJ?= =?utf-8?B?b1RGT1FheHd6NGF5UnI5L2Q5U1NoZXNNUWxBc1E0cGkyUnV2YXVkaXFxcS8v?= =?utf-8?B?a0xXcDk4cFNQMHNzeHdRamFOV2xta2o3QU9xb1hRMkhrUmVKdEJ4bjg3dDRJ?= =?utf-8?B?aHUwdXZTU0wrUXlla2pWZnQ4Yi9Vdko5ZlAzZURYTEtQUGhteDJBMVJBQ3I2?= =?utf-8?B?dWJXWlkzWmRqeVN2YjM3eG1KT2RkY0JobEtpMzJrS2JUU29ITmtQUjNqR1VR?= =?utf-8?B?Rmt6WWpWRHNtamZUeDNjSU5lQjM2anVmZnNtOFJYeldtZWZWWi9ZL1ZYaVZH?= =?utf-8?B?Z3BaNEJhSlNRWUFoeUFrdlZHNkpzd3JqWWtyRU95cko0RlFHQWV5R1AxWEtq?= =?utf-8?B?amdQaE15L21kQXRuZ0hteHdiWkpkdmU1TnprWWZHL2Vic1JQb0FOcVFyK2Vj?= =?utf-8?B?UnFJWkNMbjBFV3IrbGF2bWErZkVJZ1RlZUFjRU9Rdmh1WXVJWDNOSDF2OW50?= =?utf-8?B?TDBvcFdDSXlVQWZWL292ZTJXaGcwM0dvS3B1elEvRlFPL2tJcTUvMDRONGFr?= =?utf-8?B?dk9lU2U3TjBPaGVPQWVWMi9yN3BPQzhObTVmQmo4NUMrVHhTdTN6eVYrekQx?= =?utf-8?B?MGJDdzJmS21ZdFlLZW9UU3MyWGxSZHVHbklJV2tzL3IyRENEZzNjL3VGSncv?= =?utf-8?B?RHFWa2pLR1RYUWVneFVFS09GVDZMNnUzdkdsdHV4U0V4d0cwc0tRY2hkNVhv?= =?utf-8?B?L2ZqbE9Dd2RONnFpTk9hWVloU280U2gzeXFDZTlxdXJKZmsyTzZmdU8zWGpT?= =?utf-8?B?bFFTU3hLYTBMc2hubnNIa0l5ekhZTUJDWnVFemhlUWJUcThwU1ZZT1N0S3du?= =?utf-8?B?dVU2bUhIOG9SekpSUkxtMXB0blpBT01xMXJ1TitHbDUrRitiQ1M4WGhpOFJP?= =?utf-8?Q?a6h/799f29AmNs0GlQMuNAA=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d2ceeca6-ec71-4917-04e3-08d9d0213427 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:58:48.0388 (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: dcXQ8JwlCEn7oaVbwQlvlOlq3kWn3a9JmtuVbZQZbKYRYj+6pbhkgPzVqW3vl1tiXjoOAqGQHpsVSnJwosDmgw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB3713 Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=jWNJc934; spf=none (imf20.hostedemail.com: domain of jhubbard@nvidia.com has no SPF policy when checking 40.107.94.62) smtp.mailfrom=jhubbard@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 773901C0003 X-Stat-Signature: xqfrspt31uxwcpsf6o4gg9z33j8nwhti X-HE-Tag: 1641369520-874779 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. This was the last user of try_grab_compound_head(), > so remove it. > > Signed-off-by: Matthew Wilcox (Oracle) > --- > mm/gup.c | 19 +++++++------------ > 1 file changed, 7 insertions(+), 12 deletions(-) Reviewed-by: John Hubbard thanks, -- John Hubbard NVIDIA > > diff --git a/mm/gup.c b/mm/gup.c > index e7bcee8776e1..7bd1e4a2648a 100644 > --- a/mm/gup.c > +++ b/mm/gup.c > @@ -152,12 +152,6 @@ struct folio *try_grab_folio(struct page *page, int refs, unsigned int flags) > return NULL; > } > > -static inline struct page *try_grab_compound_head(struct page *page, > - int refs, unsigned int flags) > -{ > - return &try_grab_folio(page, refs, flags)->page; > -} > - > static void gup_put_folio(struct folio *folio, int refs, unsigned int flags) > { > if (flags & FOLL_PIN) { > @@ -2588,27 +2582,28 @@ static int gup_huge_pgd(pgd_t orig, pgd_t *pgdp, unsigned long addr, > struct page **pages, int *nr) > { > int refs; > - struct page *head, *page; > + struct page *page; > + struct folio *folio; > > if (!pgd_access_permitted(orig, flags & FOLL_WRITE)) > return 0; > > BUILD_BUG_ON(pgd_devmap(orig)); > > - page = pgd_page(orig) + ((addr & ~PGDIR_MASK) >> PAGE_SHIFT); > + page = nth_page(pgd_page(orig), (addr & ~PGDIR_MASK) >> PAGE_SHIFT); > refs = record_subpages(page, addr, end, pages + *nr); > > - head = try_grab_compound_head(pgd_page(orig), refs, flags); > - if (!head) > + folio = try_grab_folio(page, refs, flags); > + if (!folio) > return 0; > > if (unlikely(pgd_val(orig) != pgd_val(*pgdp))) { > - put_compound_head(head, refs, flags); > + gup_put_folio(folio, refs, flags); > return 0; > } > > *nr += refs; > - SetPageReferenced(head); > + folio_set_referenced(folio); > return 1; > } >