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 AA34CC433EF for ; Tue, 19 Jul 2022 12:11:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E50636B0071; Tue, 19 Jul 2022 08:11:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E00566B0073; Tue, 19 Jul 2022 08:11:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CA0D16B0074; Tue, 19 Jul 2022 08:11:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id B935C6B0071 for ; Tue, 19 Jul 2022 08:11:46 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay12.hostedemail.com (Postfix) with ESMTP id 82C26120FEA for ; Tue, 19 Jul 2022 12:11:46 +0000 (UTC) X-FDA: 79703735412.13.CCECC54 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2060.outbound.protection.outlook.com [40.107.92.60]) by imf07.hostedemail.com (Postfix) with ESMTP id D4B2F40069 for ; Tue, 19 Jul 2022 12:11:45 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nh3hpWnHykS1AJetPDChJkcE34q14mrIirbtv/uIl8728Hq7jiq3zHun88NKHb6nmkhPbMIbkGD/oq7ngH9b4BVKbknGpMSN0mhkvysRFwyJNSsGskX1Zx9sOb/ZDW4RIWsnoI2j/5EPA/Gq6hL9ICdfpe/tZyHs2sU5mglO7AMeJmtz3+uTO13rAgFNlr9LxlK7o0Rm27n7SEJ0fXioamVgIrRKMNZjvVuCjEQ4FppQLGf8dF+SgprZsnwGpZi/63Uo+7efYeBUAeZiwD7z1G1mx7KPvs8bvkM2xcGp8q9tBoi/rG4+DfZI7y0oqCxpJ73m1Q2em5Q0M2r9MTqc/w== 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=LmgZ0A63+8hokkw1Pe/4n0y6Si2ZWyhhkPhDGjtS6lw=; b=EUU6vx5c1g0y0pG/K5JFBcOxl5RXTZY6C8WQ0Gu4X0LfK6Crlb9wqcbY6Hglb7lv4i6ZV0O8AL46fEKDZ51gZbudbKTjy2PfsyCk9Hr8TvWiUMenOgctAQL4HK8chjn5U5X/z7I4t0yCiSKr/L2nEzzqSUw/zALsvk2DUj5iJuNs/JMeHpoNKEoGqCWmLY3Xtr5U3Z58WetyzV76R9O3rLieMPRhbG27COaYrukX6/c3XFdCuG/XR/TW2iiTSj5V+LNXs4wGjkCdqb+185FXnzWiJZLY5D2IgCQSC23xLIh+2e9gaSqtmM9n1OI6GL3904WvkGG/4Xm2z6tAgkip5Q== 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=LmgZ0A63+8hokkw1Pe/4n0y6Si2ZWyhhkPhDGjtS6lw=; b=UduzWGTF/002N0Cbo1SuXa+O5lL5CNGhBdlZXNFreE8fzQevY0B8+6IBD7WqN6YFU5dWxgCiCms9a7i1oOqqTDuGkunNq90FvtScGWrkrHAkcGt4u7YF0OAXlJxL61fYxn/UzJSqwyAwVMNp2YldoukJNCJQ3YZp0MyqjpJV9wXYIIr0ChCfwRcxwkdneCVZWxE7AeibDPCToYnNui2/8WLsSnh5OPz1WY9z1tIVFC0eCJC5uQ8Zz5UQF+CG7ljXifLfLthcI9jcewbTgQcVXyak3+UPNiZLnSpRf8bwSmxjtq1NjDyS33Zd12miyOqL6wiofyvbIWuRCV53Svb7rw== Received: from BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) by MN2PR12MB3550.namprd12.prod.outlook.com (2603:10b6:208:108::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.21; Tue, 19 Jul 2022 12:11:43 +0000 Received: from BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::eca6:a4a7:e2b2:27e7]) by BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::eca6:a4a7:e2b2:27e7%5]) with mapi id 15.20.5438.023; Tue, 19 Jul 2022 12:11:43 +0000 References: User-agent: mu4e 1.6.9; emacs 27.1 From: Alistair Popple To: Dan Carpenter Cc: linux-mm@kvack.org Subject: Re: [bug report] mm/gup: migrate device coherent pages when pinning instead of failing Date: Tue, 19 Jul 2022 22:04:57 +1000 In-reply-to: Message-ID: <8735excner.fsf@nvdebian.thelocal> Content-Type: text/plain X-ClientProxiedBy: BYAPR11CA0092.namprd11.prod.outlook.com (2603:10b6:a03:f4::33) To BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 09882a96-699b-4cbd-f399-08da697fd801 X-MS-TrafficTypeDiagnostic: MN2PR12MB3550:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NxMvXBUCJXaaYAG09eWN7C29u42HsoomFIUYKkRgqoFYfi8F4EpWxM/bOC19H0O4uliNg+klEqUVj4yRx2dnpiiBS1fb7PDK/2hBOzDfIs8xbWyBGV3e8a+bgdMwOltslcrvxZcjnUaSXaPhYYGbgnrYZycN1jETUMwu0KUlsFqiaZPuSd7lPyNd2ltNLNGt8SoswdCH1CDM93G8PFuwPINbOvVhWACxC+CDOiFPTMuzYYvR+HLC9lR3y8AeULc71LNj85r7B7Xozp8G93fdTXrVEVJ898Z9bJs9y1ITuGbUc1+WtEA1V2+AlhJzBwD4h9wxItt0hjypPzjcPRbNYKQ4+BK/OEdiGb4D4YTjgu0nJ/nHjvAbIZqddlwDaDxIrV5hE0FhUGUs7ULZUmroeA4c7Q2lOba9ltyV/wOwWvAcpRgZsBI/gNZBA+RtAEN1pphD3T3GYs9ye4kk3cdYM0HHZB2bkPdjP2GWxjYDJBiJAYnZaV47p4aDNmNAAIICMauLSvTLPROm6TfNNgazV++QRWgt94EXwOkq++8Z0qYJjlIryJrBDETO/dahv/+iPPTqN00PYK18VBw11DhsUsgCoU0KEnD8jxpRYR9G8xHjTOW9OtHEEx/MRzzIfgWSWwQjYcGRF2gAa8AtLqZze0HjmPzqCSIq6wfQem3DqxD7d3vXOBemQxtlhyt6dclZpNCiGiKwIkQ0Eecm+t4tLgI8snxvmTNJGgOeA+t8jgSQPbrx+keiMn0tp2NkHK4U X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR12MB3176.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(396003)(346002)(366004)(376002)(6916009)(5660300002)(86362001)(316002)(38100700002)(2906002)(66556008)(6512007)(186003)(8676002)(66946007)(66476007)(478600001)(4326008)(9686003)(8936002)(41300700001)(6486002)(26005)(6666004)(6506007)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Cv8tc30yh4RWh5sQU+ISAqkK96Lg1yQeKL/Yy1mt0+x/6rgqefL2ZOWddlbM?= =?us-ascii?Q?FQiEIVQpeSfZK7rxyqS1nt/6L0lRDMa3khukaCJXUn+m2dC4jRILXjVhLD9r?= =?us-ascii?Q?G2KD35Ay/yb5b+yjkiihUxVwfdcTjGiwrajlDaCC07SSfgFvDUcEBXcoOaMF?= =?us-ascii?Q?SOrLgrD/9oFtXHk9D6QLjXUysAEBPouHxmUTay+zYxlm2b77xN4X4Svi/7/O?= =?us-ascii?Q?8b15kWtQGbulQj9qRPlT7R3T1yJpZUCGFRBLz3Ss48DACbHVifSNtx/o5U49?= =?us-ascii?Q?YVnybu6ymsZrrNx/DCZ0xLkmZjaNXKn2sbwAKb0eIrm7XM3XHHRiexRXBNkD?= =?us-ascii?Q?sxacXuTCUOmkJpAy1yO0nAoI2yCKwDcTDKh8VKzUApBWEgsx2gUjJDyTtC57?= =?us-ascii?Q?5lv0vucTCA7Lq3F9mQmGsKlVPJR+x25wwFHRgmrPWoytcs9BEEXxvtUEUwL/?= =?us-ascii?Q?BhCbfMKDcf7/QkhHpsQhjx7roZ5o3pyW35py+sdTw8YFILuBPI/uETXHBDh1?= =?us-ascii?Q?hxO+CJrIpVAV8lL0HqZQT/nzKDe9EJRmdT/9gwLhO27tKj2rMOohED5jq/pk?= =?us-ascii?Q?hO4KkdwQSxDFD8sqX/02an31JEk/i8ir9Q7brFMNK2LV23Y+S89GLzasnp/+?= =?us-ascii?Q?Vj6Wa+OkET+XLEoezQj19eCJGVb6/6E/XwW7U2ju+h7c45/UhtisKoimyGHr?= =?us-ascii?Q?vt29M4Z6OhDYFZ4FVtjJegE82a/mBEWo25h3cnT/+xY/ZSmp5c9nC35XOfbL?= =?us-ascii?Q?ywKf0aKN6DK6l8PD55WRxgZKK+p1qlBCvpjSNPqnGB3f6+8Qdz2977X6qBEz?= =?us-ascii?Q?sNyUXuUNZ56NPl5NB8rTjEl4UcEaFZzb8SGliO2fveni1Q9Z6CFC14E1P5oV?= =?us-ascii?Q?KpBk5O+MHnX1J2bxsMeIsksz11xchU2e5NA6Pb1xz90LHVEQxeW+jJ65Oh+1?= =?us-ascii?Q?SOMloIThk340ACbtqA7dpoLitgGLorcK9fiSl8lPXqehoJTiXxlk5g6zlkqy?= =?us-ascii?Q?fgPjELesXUFfHfT1zh8Ud0/plV2Od8NFvjG+XqDKbfDNJyMHZOGyEngxBZCM?= =?us-ascii?Q?JxXwC/N/jnyDjXa+/iwbRQmgo0F6f17ppbORo7EFb99G6pAM/AwaCMbWQXv5?= =?us-ascii?Q?n9O5lzucM8UHSOdmikrUQvgNZpXHn8Bws2X897KDVwdk/Zksc4KNOYlh1bwK?= =?us-ascii?Q?XctIVouwKyZEGhTVKEFOjJSjgndGWoN30uWCl2lZEnSNR7/KVhfOXaQX/wKH?= =?us-ascii?Q?J9c2u0riDTH61AZlFvnTfZz6hkEfrSaRV5Ud2TTswzv6+vV7+R4QY24I3/jS?= =?us-ascii?Q?kxiAvD3V1oRenoNJodvN6UCsPdCh0d57SpxwXFK9slZqXEol0FTPDZr5DHYv?= =?us-ascii?Q?JTMJQOfJzNKQbUiFafcdHk6VFgKjzoPDyQtmj1zbWqeP7ED8W3A43IoxkvN6?= =?us-ascii?Q?ywHNqrFztsl9oxLmgK+WsjIr0t23Z5i/Khu1p98ibQxinoBy63Pa9UtowGYM?= =?us-ascii?Q?daVKsVzg5JQ/66NQB/szffYyMNmMP862jPLFlHcIA2ji5jLP0bFtt2bqMmE0?= =?us-ascii?Q?0t1FyGiGWz05Nz/ask4s0/1C17OHqgfZ1FX6fEvS?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 09882a96-699b-4cbd-f399-08da697fd801 X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3176.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jul 2022 12:11:43.3209 (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: WoSOVzx445gU5Rs/weJfjBUbaDlB7uXrAvpiTfywOIXiOP4YrXYpF56s/5k0I4G0ac8bPeM5dnBnq3HwQFTQjQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3550 ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=UduzWGTF; dmarc=pass (policy=reject) header.from=nvidia.com; spf=none (imf07.hostedemail.com: domain of apopple@nvidia.com has no SPF policy when checking 40.107.92.60) smtp.mailfrom=apopple@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658232706; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=LmgZ0A63+8hokkw1Pe/4n0y6Si2ZWyhhkPhDGjtS6lw=; b=NC/HUBCXXPPJKRI+2LjaHEVZGqPf+NgWYlelYC/qlzzzWpueSLS6BPpLkJ+j4iZmUsSAs0 VQ5zJzgsEq8ojOCMRi8nz0xaIBx1V6jDQCEzxrLG3EDxf4823dPU19EOJm4gi7iQRz7j4h 2OdwLBYSeJkjCvRe2iZ1D9Y9GSrG+sc= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1658232706; a=rsa-sha256; cv=pass; b=OfhZMzteUVXdvwtFhMD2oyHR3VTtzk2sVVR7dsGABZUmSjL/dZ0TX80nXoIgF+fIq4qHfS re0rD8eixaA3q4AC0d4Ip39OTM8w5JG0040jCN/3W7g/WCnXnG3tjU8YnFC25rQHeu4WFi hOjpUzyyhCm/l57eikfJg9tVnUwNuAs= X-Stat-Signature: eddhejn85czcm3nijp98p3a3yt5zc9st X-Rspamd-Queue-Id: D4B2F40069 X-Rspamd-Server: rspam08 Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=UduzWGTF; dmarc=pass (policy=reject) header.from=nvidia.com; spf=none (imf07.hostedemail.com: domain of apopple@nvidia.com has no SPF policy when checking 40.107.92.60) smtp.mailfrom=apopple@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Rspam-User: X-HE-Tag: 1658232705-132986 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: Dan Carpenter writes: > Hello Alistair Popple, > > The patch b05a79d4377f: "mm/gup: migrate device coherent pages when > pinning instead of failing" from Jul 15, 2022, leads to the following > Smatch static checker warning: > > mm/migrate_device.c:842 migrate_device_coherent_page() > warn: duplicate check 'src_pfn & (1 << 1)' (previous on line 832) > > mm/migrate_device.c > 810 int migrate_device_coherent_page(struct page *page) > 811 { > 812 unsigned long src_pfn, dst_pfn = 0; > 813 struct migrate_vma args; > 814 struct page *dpage; > 815 > 816 WARN_ON_ONCE(PageCompound(page)); > 817 > 818 lock_page(page); > 819 src_pfn = migrate_pfn(page_to_pfn(page)) | MIGRATE_PFN_MIGRATE; > 820 args.src = &src_pfn; > 821 args.dst = &dst_pfn; > 822 args.cpages = 1; > 823 args.npages = 1; > 824 args.vma = NULL; > 825 > 826 /* > 827 * We don't have a VMA and don't need to walk the page tables to find > 828 * the source page. So call migrate_vma_unmap() directly to unmap the > 829 * page as migrate_vma_setup() will fail if args.vma == NULL. > 830 */ > 831 migrate_vma_unmap(&args); > 832 if (!(src_pfn & MIGRATE_PFN_MIGRATE)) > 833 return -EBUSY; > > Return here. > > 834 > 835 dpage = alloc_page(GFP_USER | __GFP_NOWARN); > 836 if (dpage) { > 837 lock_page(dpage); > 838 dst_pfn = migrate_pfn(page_to_pfn(dpage)); > 839 } > 840 > 841 migrate_vma_pages(&args); > --> 842 if (src_pfn & MIGRATE_PFN_MIGRATE) > 843 copy_highpage(dpage, page); > > No need to check again. Was dst_pfn intended? No. The check is necessary and correct. migrate_vma_pages() may clear MIGRATE_PFN_MIGRATE from src_pfn if the page could not be migrated for some reason. > 844 migrate_vma_finalize(&args); > 845 > 846 if (src_pfn & MIGRATE_PFN_MIGRATE) > 847 return 0; > > Same check again. I don't see the problem with this? - Alistair > 848 return -EBUSY; > 849 } > > regards, > dan carpenter