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 BDE42C433F5 for ; Tue, 4 Jan 2022 22:01:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EF1176B0072; Tue, 4 Jan 2022 17:01:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EA1106B0073; Tue, 4 Jan 2022 17:01:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D19D36B0074; Tue, 4 Jan 2022 17:01:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0030.hostedemail.com [216.40.44.30]) by kanga.kvack.org (Postfix) with ESMTP id BE0F66B0072 for ; Tue, 4 Jan 2022 17:01:41 -0500 (EST) Received: from smtpin24.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 6A5E78248D52 for ; Tue, 4 Jan 2022 22:01:41 +0000 (UTC) X-FDA: 78993977202.24.C51BA9D Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2069.outbound.protection.outlook.com [40.107.223.69]) by imf05.hostedemail.com (Postfix) with ESMTP id 60F73100011 for ; Tue, 4 Jan 2022 22:01:40 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nDIjbgg8Z1knQt5VXqES3tXa1mdPOEbm7GvPdIAvwZR6Xb+GSqmVwOAvy9B96mzvzgXhhHtyaKQlw5eLZ9fBqMRIGxKvNMDrlXXvB2ROxDJvJjdtFqxUdFtIMsEaCBIpEH85BhjDsmS0K3C5YRbebuu15asXmEnIH7G4TdvdX0KORdoY3zKnPSTL++Jg1yaZZCVoTLtKlKWBgeK41ZcOQC/XewPaUY++q5Lv2pD2+5rI0Cf4AmR7jkGc/Fq9Q9XIO9t7nhsZiMmmHc/YJ8ZXHkNQI1/0JZjZimy2cB4NdM56vP5Tb+dlCVODHBzaypLMZeXqAM6eRiSAEgkTYcYpqg== 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=8mNerXcv6yrkoOLM6+UIvMOpv+SryTv8xZ779Wn6/do=; b=iEuQ8bcqirtig3gS1KXw4ypFUePPRek4GzYDgL0tbCozuVgaL1pevyY9pjKGOJAww35PtRMIUNZslOo4pi/06t3nNH3vnXSlSb136ZLbRQh2y/c9EADF3YA1nzHiWc7Es2pd815H0b+ujsord19PUF4EFiVhe9PGdzLvG9S6Jh+sQUge9Q6HjN5ubfzdO5+UZ+sYjUADlKzIIXemTecMkx7WX4tjh7ddr4DcZI06u+GK6W3hTppvOL1Y140fwJV1T6ZO2VPsh0p3cPFpxYajKnXugzQOUwIyPkjM3+/9KT8zEkv78HXPPkak1yawdPpXrqgWSsEd2Vbebkpc1Swd5w== 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=8mNerXcv6yrkoOLM6+UIvMOpv+SryTv8xZ779Wn6/do=; b=G8KVOP3DwJ9iBabiskqGbXf1XVhM+Yqkm8fT0EnBRcDlf89VL1QaBaI0vai4S3W887F86w6BIh8YhuZlhRA1Sr+KL3yEwSLnWzI7vgogy7NjyI4k8UdpNtK9Y9nNejsTSp7llLjIfrpNCB//a1suIF4DWGfI5mEi+uez5wT4n7SgiEnc4rzVdOcRCtTyHaVG8VBhdNr0Xs+EfkGXU+JNW+XvlSy//E8pmjWi+5LxtE5MIYaqGqHSyy3cdpUS7JHOm0DBv6fe3v3EUZGlr9mmUunxs47ROuxUXSjPZ1pESLI/QkyILVVFc+jftn34uXDNNzrfy9G1d73rPUuNRCudCA== Received: from BY5PR12MB4130.namprd12.prod.outlook.com (2603:10b6:a03:20b::16) by BYAPR12MB3128.namprd12.prod.outlook.com (2603:10b6:a03:dd::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.14; Tue, 4 Jan 2022 22:01:38 +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; Tue, 4 Jan 2022 22:01:37 +0000 Message-ID: <75156991-19fa-5214-7155-1926edef4216@nvidia.com> Date: Tue, 4 Jan 2022 14:01:36 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Subject: Re: [PATCH 04/17] mm: Convert page_maybe_dma_pinned() 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-5-willy@infradead.org> From: John Hubbard In-Reply-To: <20220102215729.2943705-5-willy@infradead.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: BYAPR08CA0045.namprd08.prod.outlook.com (2603:10b6:a03:117::22) 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: cf6d8198-f75e-491a-1863-08d9cfcdc7db X-MS-TrafficTypeDiagnostic: BYAPR12MB3128:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2201; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gIBQJlx9z0RBUj9Hy3dPxBGWCn4Rt5MWYJWFqHLke38NGk5q8Aq+fdEzTdkdh5jZJULZeG0yzitQhW8+4pd/ipXgEXFTsnH6bzMvB2Vk2cBQNgWGkf1M9LejkLZuo3FwvhwxCdxYyGBPiCyPhf0hqECUR2g/pUbYh+ShBMUg4Ke4Q0Ko24RhTj0nNBci2UguCCDfMZ+ocgQCm1qZssR17FI5NOX0Tr1Bmcn7YdGT3pt4BDdTuwL8ko+6q2buRUfduktlX+VEDbKYOo076im3iuS1jW99A3mId4I4+WgyYFJRqQLYXo5xIQ3eATUgKsQGab01Rres8jBcuK8B3DnGq5O1xMObvHSe80/c7tM/JM8SFATyNpzr+KeVhYU6FAI2NYPhAGIaTTYyOM8H2IX8VDFxn5X7engQr7NoUiR9PtAaynZK2aooBIOIoEV1SNbcJ/0y4eYjwDZtkqKg5KW12lvY5p+CbJ/5RvuPP3JuCGuY2nhl5nAv4ESCIEvsmyFViu9dATghl4jqp+ufgSjzJVh15PeYtVHhTyG9ukb0nvyjnCy13X/ip8PxyoaSUuKjywBgKj8ruvFwwS239V/wrnZ/qFwZVUDStRbuHrsbwbKLwZXhEvJc1+nhgCtWy6+62RlWxLA/ghR65dW2imNnmt8TXM/k65f1Zr1boxrINu8zzHAbEnQDmPmHJWI+iiUV4Qcm5fkrJvuZSmDvXQ/XPYv+PJLDSmKz0iYOI0DpAfo= 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)(2616005)(186003)(6512007)(36756003)(316002)(53546011)(6486002)(5660300002)(26005)(83380400001)(31686004)(8676002)(86362001)(508600001)(4326008)(66476007)(66946007)(66556008)(6506007)(8936002)(38100700002)(31696002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?S1BoN3JmYzdwY0hMc1FMUEs3clpRQm90SVR5UlhrSlFuL1JyemxSc3JHb1FW?= =?utf-8?B?ekZiTHZpMjJiSCt1aXR5Mm1YSk1FTlhSTXNNRGNaVHBsQkdwVnZIL2tvVWNT?= =?utf-8?B?VmU0WkFBd3kyWmhaT1RJSUdTMnZwWHRFdTZXc0lIZ20zRGIyWTVnTTdIYWky?= =?utf-8?B?clpPWGxqRmpNUEYvUkVzOW1tYWV4UjhFc3BzYlZuS2xFRlRsWlQxaTNQQmgx?= =?utf-8?B?WndMV2dZYnZzMFVQdDFXNUo4R0Y2WUVReHh3ODNoL1psUzRDQmVGcTFkMTRY?= =?utf-8?B?c3Jza2k4Nk9Kb2FZdHJYK3o4SUpGVG1UOVRZYm5WeXNLbC83dkJyR1pqbkwz?= =?utf-8?B?ZDlJWUVEQnNpVFpockdSbXZObUVwTy9LemdRbys5aTRqanFaUndzc1MxLzZY?= =?utf-8?B?b08xL1RWbzZKVUVjT09EU1AwQ2dTL3hGQ1NxZDMveGVGVFIzSUhkSXpreFRB?= =?utf-8?B?NnhXUEQvWXlBNnQxeUxoaFdHUkFNZmdQa2dOUVp5Z2xNUWg1UnFwRjhhR2Y0?= =?utf-8?B?M3NwUmZld3JTTHNPN1JUZUFROW5LSHp2dWJnNVFMeWpwQ24rSno0bnFaeTA3?= =?utf-8?B?QkN4TjdTVHJzV3RDZEVGbTNhS1lNRmllUXVDTHhBRFByRnh2dStJa2h3OHgz?= =?utf-8?B?MUlyNDdHdEZoeXZITkN3ZUs2QTZCdHhtZ2JnbkJWcHNmdU9iWEVLTVpWM3o2?= =?utf-8?B?UFV0T3VpVjl5TDliOUFwcm1sRDVFQ2N5dXEwK01TWSt2a21YVUxIanVsUHdz?= =?utf-8?B?OFdoSlhTUUZsK3VwQ1pTQithZndEbUpQQVRQcVBJYjRnc3BmR0FZbDRFa1FN?= =?utf-8?B?UEkvamxIaVg5OTZ4a29XT29GVnlmeFowTlVlckNQdkxRbWJ4bUFUeHZiTnFy?= =?utf-8?B?WTZjcVIwQ1BsK2NGRVdwMEVyc2dSWVR2SFlQWmljQjlLV3ZHenF3eHJFUUlX?= =?utf-8?B?enYrY0I2T3R6RXBpV2pjZm9rbDExbDJIQWZsY0E5K2xZMTJpbUNOSE0wc2xI?= =?utf-8?B?NlJ6R1FYYUNzamM1aURKRit2RnZ1YUM0Zm5DTXJYbnl0Nmlrc3VjcERmUkU0?= =?utf-8?B?NjZuSVRBclpPeGJ2V05hb1BTR3BhWEExczJDMWVXcElaV0NPWmE2NnE1b0lv?= =?utf-8?B?dmFzdERSUnZjVW9oL1czanJvdXQvR3JlOTVuZWxLelA2UXdBdVNVN2hoY01o?= =?utf-8?B?bktQNjFCQTNLa1czUkxHRVk5dVFpNFJyOUpFWTJEMytTNmR0NGxhd2dYUzRJ?= =?utf-8?B?UnFlaWVFeVBmNWFwM2VrZkw0MVRzdXlVbjVLcnRLQlBDNitadG16OHBTNTdj?= =?utf-8?B?cXcvdkZvZnlMclVkbm5OZis3K3NQSGMwcWNBMzNGUHRHOHZNTC9OdjZMNU9H?= =?utf-8?B?RkJkVnhqNkNJbVFBdHZQRmt3MVdkSFZCOFFXQ3pMbGtGWWw5M3o1ME1EUHlo?= =?utf-8?B?Q1poUEYzNVJVT1lDNmw0azFDSjdoVmtvL3lNLzZ0SXAvVWF2OWJFSHRWVlhO?= =?utf-8?B?Q1IxSWJjQ25xS3A1bHNDcUg0SE5pZXFCN2FZTGxlWEtQZ2FkRVhLZ09VUFNt?= =?utf-8?B?Y3hkcDlyNTMvQThUNldLSDRkNFBQRDQrOGR1eVgwNFgzbTRXWGxBOEcvVDRt?= =?utf-8?B?Nm5qdVZNRmxybjBHcUZPSGRDanNWZUMwTTAxNmZnejF6cmkwTzI3dUdZMDNP?= =?utf-8?B?bXR4dVQ1MnN1TTJHRW1XdlJabVZZK3d3LzUwRGZKeGZlUXFlN3ZrTWU2ejMw?= =?utf-8?B?UlJkUWNlaHNweEhqeUw0ditFL1RuWk9JdENLNkxCZ2pjcTY0OVc1NTlmYTEw?= =?utf-8?B?NVV6djlaRTNaclM1QkEzYWlKYVpEc0tqM3YvTVJMblNjemprWDQ0OHlwd0FT?= =?utf-8?B?M1dxN01FRlhvd216N3V4SkQ0SnVYbk9NT1dVUGJtUXV6SVNmbmdnZkcyU1dt?= =?utf-8?B?eWY4NkVJMnRkcnljdUpJWUlxUnkvZkdxczdzdXhDSnpoSk9TSldOZDVTQVNm?= =?utf-8?B?OFBIT3ZhM1QvYUxiMmpDdVVBNWhKbnJBTmdjY2k3K1VkMnVoclF6aDVIbVRx?= =?utf-8?B?bXhSbGxKczNxa1Vabm83N2h2NEFWbExhdERmMXllR0FjSjlhdXRkTE9vTGZH?= =?utf-8?B?dWNQZERPUHg2MEljWjdOOUsrQU1oWlhmWFlMNzJOWWFSUXFYNktHdUFFVFN0?= =?utf-8?Q?h2QA5fP7kcvi+56ApiEIFX4=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf6d8198-f75e-491a-1863-08d9cfcdc7db X-MS-Exchange-CrossTenant-AuthSource: BY5PR12MB4130.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 22:01:37.9155 (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: 8Ws0vSzvjetxyHq3tYbcTjZBmQZpKsIxkU5i5voJzwNR35f76Y74j+GFilFeS1lvPcLvuxNu2PDWvjM6zrqZDQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3128 X-Stat-Signature: td4aat9ohcapmeff6baagogswdgzxs7m X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 60F73100011 Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=G8KVOP3D; spf=none (imf05.hostedemail.com: domain of jhubbard@nvidia.com has no SPF policy when checking 40.107.223.69) smtp.mailfrom=jhubbard@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com X-HE-Tag: 1641333700-339774 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: > Replaces three calls to compound_head() with one. This removes the last > user of compound_pincount(), so remove that helper too. > > Signed-off-by: Matthew Wilcox (Oracle) > --- > include/linux/mm.h | 17 ++++++----------- > 1 file changed, 6 insertions(+), 11 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 269b5484d66e..00dcea53bb96 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -947,13 +947,6 @@ static inline int head_compound_pincount(struct page *head) > return atomic_read(compound_pincount_ptr(head)); > } > > -static inline int compound_pincount(struct page *page) > -{ > - VM_BUG_ON_PAGE(!hpage_pincount_available(page), page); > - page = compound_head(page); > - return head_compound_pincount(page); > -} > - Yes, the only search hit remaining now is in a printk() string in mm/debug.c, and that is still reasonable wording, even in the new world order, so I think we're good: mm/debug.c:96: pr_warn("head:%p order:%u compound_mapcount:%d compound_pincount:%d\n", > static inline void set_compound_order(struct page *page, unsigned int order) > { > page[1].compound_order = order; > @@ -1347,18 +1340,20 @@ void unpin_user_pages(struct page **pages, unsigned long npages); > */ > static inline bool page_maybe_dma_pinned(struct page *page) > { > - if (hpage_pincount_available(page)) > - return compound_pincount(page) > 0; > + struct folio *folio = page_folio(page); > + > + if (folio_pincount_available(folio)) > + return atomic_read(folio_pincount_ptr(folio)) > 0; > > /* > * page_ref_count() is signed. If that refcount overflows, then > * page_ref_count() returns a negative value, and callers will avoid > * further incrementing the refcount. > * > - * Here, for that overflow case, use the signed bit to count a little > + * Here, for that overflow case, use the sign bit to count a little > * bit higher via unsigned math, and thus still get an accurate result. > */ > - return ((unsigned int)page_ref_count(compound_head(page))) >= > + return ((unsigned int)folio_ref_count(folio)) >= > GUP_PIN_COUNTING_BIAS; > } > Reviewed-by: John Hubbard thanks, -- John Hubbard NVIDIA