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 3551DC433EF for ; Tue, 19 Jul 2022 13:00:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5D7396B0071; Tue, 19 Jul 2022 09:00:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 586E26B0073; Tue, 19 Jul 2022 09:00:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3DAA86B0074; Tue, 19 Jul 2022 09:00:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 278666B0071 for ; Tue, 19 Jul 2022 09:00:22 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id D9835400FD for ; Tue, 19 Jul 2022 13:00:21 +0000 (UTC) X-FDA: 79703857842.06.AB71DCF Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf28.hostedemail.com (Postfix) with ESMTP id 21D41C00A2 for ; Tue, 19 Jul 2022 13:00:20 +0000 (UTC) Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26JBQL1X026652; Tue, 19 Jul 2022 13:00:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : references : content-type : in-reply-to : mime-version; s=corp-2022-7-12; bh=DsYMwIjzpbexMyqM23/ANONuSgmsp8inWZk1qaLQlVA=; b=HwH6NrGMEcrSmbIQADGfACejyoeHIyiXIoDiGEWY60sHUTwSEFxbUOQ8mPtku88yFijn 7bWovKgUx+IkfsY0XBe5PgBQUkYevGXzOYi4eIHJH0o4eZtNt7McJHUA1L7bEtgcQH6G yIcjkpp/K1sFnPaldwa2qn1GJf2+qOYOnVafwJGnuzIOGPoseBnIfHvZGQzLMuGbMbFh ZrmN7RhXa+p/1o3dp+hbd79azm6dYXlGLdYCx8RHkEBaifLF1vZ7zQm0Tum5kmmGKNlY iIOCvIsgSQK4VoFK0fRcfUeE+Hku2PV6TH0wks63Pv9WetZXz3e5SWre2QOY31ROVUiO zw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3hbn7a64xd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 19 Jul 2022 13:00:19 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 26JBSKTq016396; Tue, 19 Jul 2022 13:00:18 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam07lp2049.outbound.protection.outlook.com [104.47.51.49]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3hc1emgvb8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 19 Jul 2022 13:00:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iMha1x6RCOdfJ+ouBnslU90Ky2JC00X54mQbfEoHPZ4uLK1NU+swRZPLf8aHIjN4L2cJtvpsPeIeEWokPSDMLTEogNqUObRivW+HXoY5KskJra0AIV2MsI6aWKhYF1EU4PJIFIA/b327C0I9BMOVfoLypC1XM9Xct18ro9/7PYU+QpMLivIUdCmvVFb1z+uW4U2fFr/c/rY2zs3X7NAulS6/qWEgKzXKFfX9NcF7TYFDX6m8VjUslVXhT8fgv/uj3cvSYGOw5ZVf1aXodLdNwBisxpcu9AiuJsNo0CY9T4MHAyDBjMU17wxIQIUYJ49uAv69BHXccdsUGtoX4sqeuA== 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=DsYMwIjzpbexMyqM23/ANONuSgmsp8inWZk1qaLQlVA=; b=h2bGY6XupDW1zkR82UKCMBsARz0FcCxOGi/SSj3Lkczpl8O9dX/DAxUuWJodavZHLHoUNyerVwuRhPsxDZjjXba/I7H5vd9Eu7pq9s2/lq4pnYt52JUrPIkx0NOgiAdqZC++EXpTEX9jPMuahjz0WMQYgYp8VliRfhaQg4x5jjRttZ70AKkvrr82lqaQtaUWKr3IK19vr2h7jLPuY+YCa7GdpbkrikKVkrFjNMNaCzdHKTKzJZWBQFri06Xn/HlIAr9BhwPxVbVLDybaqWBKtE/b80DE88werY11kk/L8NdfzW1xXOWTsOvWcntEJFAGaymyl6SI62SZ9z8XBLVR5g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DsYMwIjzpbexMyqM23/ANONuSgmsp8inWZk1qaLQlVA=; b=IU/26OqJNNZda723+2s5LfUbXIEIw45O0KkajeA7GCTfgND8W0IkMurBg/Ji06Ct2/vtuBtt7nSgHGaQ2gOvDsDN+tQync+OCPijtucsJf9fvOlhzw3zvsGPo/KscyxHEvuPkILtf4BHpp0vM+BA8I8a9Gvzx10qMgY1Ry8sLEI= Received: from MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) by PH8PR10MB6338.namprd10.prod.outlook.com (2603:10b6:510:1cd::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.14; Tue, 19 Jul 2022 13:00:16 +0000 Received: from MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::5020:9b82:5917:40b]) by MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::5020:9b82:5917:40b%6]) with mapi id 15.20.5438.024; Tue, 19 Jul 2022 13:00:16 +0000 Date: Tue, 19 Jul 2022 16:00:07 +0300 From: Dan Carpenter To: Alistair Popple Cc: linux-mm@kvack.org Subject: Re: [bug report] mm/gup: migrate device coherent pages when pinning instead of failing Message-ID: <20220719130007.GA2316@kadam> References: <8735excner.fsf@nvdebian.thelocal> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8735excner.fsf@nvdebian.thelocal> User-Agent: Mutt/1.9.4 (2018-02-28) X-ClientProxiedBy: MR1P264CA0066.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:3e::14) To MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 97f9e9e8-54de-4bd2-d123-08da69869ff2 X-MS-TrafficTypeDiagnostic: PH8PR10MB6338:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YMu6tE4aPUW/VJg2IMS80bUwln4582nE7eSIDlPCngwrcyUIOL4QgD222Tu2Z0bqGkLtbSff/1CJ772nxcxRwI3Ti9yKeMRPAqakhPR9P9MUOFhA2nxSwA+BE3cTQ4RtRv47TpUn80kykaBrYvNHXmZ9pkt/TJ1aMz+5+OwmpgqroNUePi9Whx143dNJz0MNJDbP2fX7XE+xJjUMTPxdendk8gkKug2LkCF+4XJhTAPxUYXWwDPP4tybe7xpX/gwCuImrdOBhWnBjU7ablf8QpYuBrZ76dLmHjrj3ZdVE7YWgwfJwA/9wk8GRZ5OlOuPDA7P+4BnrGkxQvlHIVbqz4MS178kprG0kgGwcp85XU5QLlLYIJh6tS9uUiaxIlNJn+T6DW1kBdw4SMLyiLFzW8VyRURIRd/G/UeO1bddwtSs59yLc/LqAbR4AUn46rTU4kV+AKDnetRwWxUlVQRU6FsKdznsZipjIVN7oTBx+zkPcgEvHhyMM4rEERVkUUrMvNgYEPVq+NHZ6s/2yytvm8D67P16Q/aDQLL/gMNac6IU1Hd+PMW5QveHyYqjoPjJznsPN4kwaE2lG7r7vkUPk2K4g347QixIRrc6Ts4y+wC8Q9v8j1X8GjgbXJxXGGfqIdf6oj8zdhfxMCZ11zosSLn3qCzQncId5NxqilWNqLy8yhF1wz8IXTlJpih0KiYrww5YX/Wj23u5nF7aiR+76BErT/fGYIPjTfmXk/ehl07S7gUh/EHvm/sz0sRxbpA6Vqczao6vBJH6jvq9696hksL5dAWNtRxun+Pt2nBhNhY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2365.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(7916004)(346002)(376002)(136003)(39860400002)(396003)(366004)(26005)(9686003)(6916009)(6512007)(38100700002)(6506007)(52116002)(6666004)(41300700001)(6486002)(33656002)(1076003)(33716001)(478600001)(38350700002)(83380400001)(8936002)(86362001)(44832011)(4326008)(2906002)(5660300002)(66476007)(8676002)(66946007)(66556008)(316002)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?IQtWYameVz6UemQYwtzMbWMDi5uVIoz3JUjgpsDnXn6TL9kcrSQXRuXUSFNs?= =?us-ascii?Q?kXOKJ+h7Wb1rg4YamwmajjHMU35HyV5sRCstgXrM069SqAdxRawZTtn/OaVR?= =?us-ascii?Q?WmLRkyu4ljlADJqz/Ab9Ci6VzFWpQAqs5GZG7aEBWAzDLWznFI/7iG8zK9Jl?= =?us-ascii?Q?HsQ5l7d9NXiVZzj4RqcKN3Jb+76hxtwj/gN7OoKyhgnwP7O1Mbf03XbZAKBd?= =?us-ascii?Q?wXiBgTtE0IvyOvUHrqGVI/kbgGAc3zrmsVnv4uGmeVAivDBT64cOE2+ANJ73?= =?us-ascii?Q?JOfZ/hR5YF20PFNDJNuEI7G369W4Eg9uml+3BBul46JdtpI/R8Kl8DPHlpL9?= =?us-ascii?Q?XyO2bcLSYdJ5uNgNr7LHNvW0YPdWTmkl4Vi+Saq7Tjd76qxaGE9PG8qvPysM?= =?us-ascii?Q?LSIzAnq7X9ntFvHG9IrfjeyHzlsjez0uxw/Eq7+BC1BazXHhlZ8y02BuUhtv?= =?us-ascii?Q?8Dzhq8UUgurooIc+4BBphDdEC6FHRWggiv/FWV4Z/0mILaQPPsVTWbERt/3t?= =?us-ascii?Q?ysfgS8mxl+T4dAxvJC4c/tONfxIrqTxvCPU1JNtuha2K7niteeNchEzr6HMP?= =?us-ascii?Q?UU4Hcxb0sTVK5Mil2Pqmp/7IXvaZ5bq1XE6V1uFWWkzQuvrxGk1OhU+7REjV?= =?us-ascii?Q?9w/9+VPcDpZekjFmtgse9NFCcxjy36SiVOT8QfhII5SBghInX+Wy4FkJMCg1?= =?us-ascii?Q?mtTee0ckQc8ST8wge7EtGGJlCBbJbVZkU5Ub+naX04fRhhulI2ikfmrBOfIV?= =?us-ascii?Q?Aw/9Rvk65Zvnt05XPhnhijL7wVz3snpj6JoUKQOAm/BMxuJ5/Ncnrb8DgQ3w?= =?us-ascii?Q?F/tbSmLvOnS+mi38pX+xCeUw1B9QzXyCgALu4tGctjYCncTyh1lebsKKthJk?= =?us-ascii?Q?6K1pY3TDhuy1N4zI5SzXW2NZpFaw2KOho1JO/npVpjZBl+BUAG2d13n4qfTt?= =?us-ascii?Q?ZdgRSsDgtJPIEZxwaCeWqx/6IqPNL+O2w/RP5+JLQbxs+6KeNjl1DejyUB+h?= =?us-ascii?Q?5cmoo1kewphUAndgCLkZhKWtRqLE1TIpQyYUFZrAWE2cvpX94YPxb8Nds+W8?= =?us-ascii?Q?jfcHVYpLsXdnR4Mx3cb/DoI+AAMgP0d7v9Fnypfpix9YhrRAXyVtzrMyMHvL?= =?us-ascii?Q?Bwr5jxg435des3FSfp6olOix8es/8/YxCD0lUT3eSnjYBQan1RR/8miR8wCr?= =?us-ascii?Q?zny5y8jH1RuvcigQG8DAQd/farWuoYk96g1oSkte4Dfc4RWrgYzmbOKvp3kn?= =?us-ascii?Q?fGKCPEpMHx87RdMcFBPLYCs3hpbo2074bo1rk2Dk3op35K7lcjdq1JhbVXyu?= =?us-ascii?Q?rvwjvdpJjETLQH1VZZVcxXuEl73M7ccWqm8xHC48KJiubRecHpJ+XYJ7myTA?= =?us-ascii?Q?VBwPM731/LY4EzUeAyS9WPUj+y2Z3nXrBHSHdIRdanRq1k/OBZadxPXizCZ9?= =?us-ascii?Q?7fJl+jMYsPLXqWR6Qi3g8XwV10J4dmOdEgse4zTM1ZJKpVQ8QrV91McfR/td?= =?us-ascii?Q?EV2nVoe3hj/3mIQBBCtKfX0BN2SMCYbutoMmqCUp7Z/qOp66jlhobjacZt9s?= =?us-ascii?Q?uZD+Qv6IRsv7YzgSp4kQuImQSNcLtnYrSK6YwzWI/k3Y/Hyy63/ECYTpNGtU?= =?us-ascii?Q?aQ=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 97f9e9e8-54de-4bd2-d123-08da69869ff2 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jul 2022 13:00:15.9652 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: rMAYlQPXuOc01Zl3h5TZx5OYE8DvQZ8XPB6nEgDjvZG9DcHxVn+6vJe3U/PmYandlV6J3YDZLUj9vKJrsn4EFeEGMsK5zzSHxiwmg+Keefg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR10MB6338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-19_02,2022-07-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 adultscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207190055 X-Proofpoint-ORIG-GUID: NT5gICzUZzRPUVDUiqf-0GjMJiU6D1k4 X-Proofpoint-GUID: NT5gICzUZzRPUVDUiqf-0GjMJiU6D1k4 ARC-Authentication-Results: i=2; imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=HwH6NrGM; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="IU/26OqJ"; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf28.hostedemail.com: domain of dan.carpenter@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=dan.carpenter@oracle.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=1658235621; 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=DsYMwIjzpbexMyqM23/ANONuSgmsp8inWZk1qaLQlVA=; b=TLInlmPpFRNZQaa/4htL1qPEi6kDIxnV3+Jv6Q9A48WnDydEH5Kv8Cz91sBFoShClCRgx3 ncO6DNjOZJn5xXCvDPQ/ohobSU3rCEpqdhyiFpj1vEC/dg0ZgFPx2ccHmmL1tebHju2w2j R6eISItqZiiXrAuoW7dHSLc9EEK0ixU= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1658235621; a=rsa-sha256; cv=pass; b=aRchwIr5oPNHOGzisasHcvgH9iB8Dbw8nfoXIg/FK/SbsKTldIEim0UebwHlWPbzga/X3V mKzo8g0AT5shiLO7KTXiBlAoAWjEm2DHfCMI0BSFL+mTcoxwZ6rDNkf4BJ0GKXcoyvTTXV zbJ9GgPGb5qjN8lp4avr2fYthoJQbLg= X-Stat-Signature: pd44qkqdinh75grdp3qho8mcekc4erps X-Rspamd-Queue-Id: 21D41C00A2 X-Rspamd-Server: rspam08 Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=HwH6NrGM; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="IU/26OqJ"; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf28.hostedemail.com: domain of dan.carpenter@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=dan.carpenter@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Rspam-User: X-HE-Tag: 1658235620-852630 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 Tue, Jul 19, 2022 at 10:04:57PM +1000, Alistair Popple wrote: > > 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. Ah. Sorry. I missed that we save args.src = &src_pfn at the top. I'll update the checker for this. It might take a week or two to get around to it... regards, dan carpenter