Received: by 2002:ac0:aed5:0:0:0:0:0 with SMTP id t21csp3718405imb; Tue, 5 Mar 2019 17:32:58 -0800 (PST) X-Google-Smtp-Source: APXvYqzUUGdbv1rHr7gy0LK/LY/yjfKXsIsGCy7dzVuAb2FfDEJ0NbdluC0CZaHmVezWqLd6X1zi X-Received: by 2002:a62:4287:: with SMTP id h7mr4829060pfd.110.1551835978458; Tue, 05 Mar 2019 17:32:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551835978; cv=none; d=google.com; s=arc-20160816; b=IxbmqDsPGdEh1gFzw404EC/ZyhC9r7CQFqIs/l+4tcm6ErbUDc8YsvqzYZR9asRpzE EUCTYFeR8hKdx8b3DgyaocoSNS9PQh6X4WkLVhuDIgrPaO2EUFtqPNe69wpxJ1XyYZ9B VXw1YmvpP747PmxfkJnDb2vbqsibJ+8xucBjOKaTWagfNTJWQ0IJ4P4ErJVTLfG1h8/x lUqQ7X4GWQ04A+oAabCJYobvYCeRlFkn10YO+Mi6ZFml/wFQpl6ROYTLs+1+hj6Nnwcs oYYGQfy2835jPmcJSakR38h8vp1thSwQWsRRVshp6AkS1Es7ECkSyT0GLjMdBEl89ta0 EiAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=j30qyYyOOtTjp0ZTiZQ78GhxRMBWbRg6hV8WbXpIKGs=; b=Zt+1LXBguwzgMO0aSuGrkANziVqj83dUXLwfmT49FCOfvIu7PPTZS4qLLpWzfH5S7F GG1Uwv2Cwipf3nIbS9TC95SodYk9gQJLBWosRuHGhOG2lq9xC77u/3DdO6r4US4rolby yEKwrMwiiXi3NAN0eCE74IbMXCc4t85mn1vjMj3bT0ygp1ZmqadSy9NI0qCRW0AQufv9 +1XS8CMx0zmMyWNHY5WzYA2J2M3t57NwcBkdV59L5e+iYWFZtlWdrvkVs22VLXI4KD5b vFIsrwVrsBNPuhMTqpylUP4XY6qXGr10its/XraVTCvBn5F5jqTu0Dgl6Saa9pf8uFu+ 1MKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@Mellanox.com header.s=selector1 header.b=paIbKxai; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mellanox.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r63si140425plb.303.2019.03.05.17.32.13; Tue, 05 Mar 2019 17:32:58 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@Mellanox.com header.s=selector1 header.b=paIbKxai; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mellanox.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727160AbfCFBCv (ORCPT + 99 others); Tue, 5 Mar 2019 20:02:51 -0500 Received: from mail-eopbgr40071.outbound.protection.outlook.com ([40.107.4.71]:43383 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726069AbfCFBCv (ORCPT ); Tue, 5 Mar 2019 20:02:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=j30qyYyOOtTjp0ZTiZQ78GhxRMBWbRg6hV8WbXpIKGs=; b=paIbKxaifNl25YHqfjguwSD8TkDOe5/kySMyccIzrM4lP7dg1lQZ915VoWygMm7nwt30AKQ1wOUhH3Dib90XdXg65pFwMA9uTLEmX2b3lO1a7l/8xQtZHdqlqLp1JMINbAsiZ7VpaF01WkLg+7PdQbLU20m37e8JSikr6I9P1SQ= Received: from HE1PR05CA0181.eurprd05.prod.outlook.com (2603:10a6:3:f8::29) by VI1PR05MB4574.eurprd05.prod.outlook.com (2603:10a6:802:5e::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1665.18; Wed, 6 Mar 2019 01:02:43 +0000 Received: from DB5EUR03FT026.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::205) by HE1PR05CA0181.outlook.office365.com (2603:10a6:3:f8::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1665.16 via Frontend Transport; Wed, 6 Mar 2019 01:02:43 +0000 Authentication-Results: spf=pass (sender IP is 193.47.165.134) smtp.mailfrom=mellanox.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=pass action=none header.from=mellanox.com; Received-SPF: Pass (protection.outlook.com: domain of mellanox.com designates 193.47.165.134 as permitted sender) receiver=protection.outlook.com; client-ip=193.47.165.134; helo=mtlcas13.mtl.com; Received: from mtlcas13.mtl.com (193.47.165.134) by DB5EUR03FT026.mail.protection.outlook.com (10.152.20.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1643.11 via Frontend Transport; Wed, 6 Mar 2019 01:02:42 +0000 Received: from MTLCAS13.mtl.com (10.0.8.78) by mtlcas13.mtl.com (10.0.8.78) with Microsoft SMTP Server (TLS) id 15.0.1178.4; Wed, 6 Mar 2019 03:02:41 +0200 Received: from MTLCAS01.mtl.com (10.0.8.71) by MTLCAS13.mtl.com (10.0.8.78) with Microsoft SMTP Server (TLS) id 15.0.1178.4 via Frontend Transport; Wed, 6 Mar 2019 03:02:40 +0200 Received: from [172.16.0.120] (172.16.0.120) by MTLCAS01.mtl.com (10.0.8.71) with Microsoft SMTP Server (TLS) id 14.3.301.0; Wed, 6 Mar 2019 03:02:37 +0200 Subject: Re: [PATCH v2] RDMA/umem: minor bug fix and cleanup in error handling paths To: John Hubbard , Ira Weiny , "john.hubbard@gmail.com" CC: "linux-mm@kvack.org" , Andrew Morton , LKML , "Jason Gunthorpe" , Doug Ledford , "linux-rdma@vger.kernel.org" References: <20190302032726.11769-2-jhubbard@nvidia.com> <20190302202435.31889-1-jhubbard@nvidia.com> <20190302194402.GA24732@iweiny-DESK2.sc.intel.com> <2404c962-8f6d-1f6d-0055-eb82864ca7fc@mellanox.com> <332021c5-ab72-d54f-85c8-b2b12b76daed@nvidia.com> From: Artemy Kovalyov Message-ID: <903383a6-f2c9-4a69-83c0-9be9c052d4be@mellanox.com> Date: Wed, 6 Mar 2019 03:02:36 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 MIME-Version: 1.0 In-Reply-To: <332021c5-ab72-d54f-85c8-b2b12b76daed@nvidia.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [172.16.0.120] X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:193.47.165.134;IPV:NLI;CTRY:IL;EFV:NLI;SFV:NSPM;SFS:(10009020)(39860400002)(396003)(136003)(376002)(346002)(2980300002)(199004)(189003)(14444005)(47776003)(31686004)(126002)(77096007)(446003)(31696002)(26005)(86362001)(486006)(64126003)(36756003)(230700001)(305945005)(8676002)(2616005)(478600001)(106466001)(6246003)(2486003)(23676004)(11346002)(476003)(7736002)(76176011)(53546011)(65806001)(65956001)(67846002)(336012)(81156014)(81166006)(106002)(93886005)(2501003)(5660300002)(16526019)(229853002)(65826007)(58126008)(6116002)(50466002)(3846002)(4326008)(16576012)(316002)(2906002)(186003)(110136005)(356004)(8936002)(54906003)(3940600001);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR05MB4574;H:mtlcas13.mtl.com;FPR:;SPF:Pass;LANG:en;PTR:mail13.mellanox.com;A:1;MX:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fae3b9ca-9343-496d-d20f-08d6a1cf7007 X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4608103)(4709054)(2017052603328)(7153060)(7193020);SRVR:VI1PR05MB4574; X-MS-TrafficTypeDiagnostic: VI1PR05MB4574: X-Microsoft-Exchange-Diagnostics: 1;VI1PR05MB4574;20:pRU3nLglBonSHO+OT8HXmWmCBMPpXAbSFa7RvgqoJAiJVG8Oify1l6uziLD4ryQebT5/3QOPhcahgi/VLYgCpHkz2nQhE1pPTRF5h5FAYJKYT0/Om3GXME0Nmga0lUFGDyO5kpUIGaywA2Rh8fLeckFuvhEhRZlgcjCD280iiw1LGUuixJTXTxm99K8Dbulvkj1csvbp2IZnpj0bV4oehxLtZme3YucfEvytxI2fZoSyw44id9SCx9SeOSXibus1TLLplRYWREDmBEGMxOUVVAoU5hxZ6x32cXoMj6VWhV1mWxIansO1G7XrkVnvVtbX3dJhkm3oULe1q3LUtJRgdYCBxw78aY/+d6K83NDGJ3Nvk7E9g2s7g8IwdeJyDXG9Fl0ktN3HStXdJJSVRgEtHkMCdSmtD2gs/7C737l1fJ6P+5UaDv+2XkvANhIti/A5Fs8R9Eb3Vc3gl9eMGO1wCLH8/R0jxmnBSYqmNmtSgf1HJnvq6HtBqhRzUD2hA1gf X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 0968D37274 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA1TUI0NTc0OzIzOkdrRUFYSm1ha1NGbUg1YUtVZ09xS0Z6c0pI?= =?utf-8?B?ZlhrdG9BZ3g1dHQyVVhzT2VmVHFOcHY5V045TWRrQUtqWExxdWhTL1JzYnFT?= =?utf-8?B?RWs0MjVOYzhzV0dLb2xuMlM1c3lyd0J0V29wQWRadTA0T3dqajFUdndwbzFN?= =?utf-8?B?ZStIcVV5SDhxUWFGaGhNai96amZsejArdVZFYklsUzg5Q24xTmZhemFPQWlj?= =?utf-8?B?MFdhMXJNejg2bDB6L1dNTXFYclRQRTVuRmdaNEtsQ09keXV3WHBKTGdrSno2?= =?utf-8?B?cFk5NlhTQVExOWNEaVh6VzlTMlBFZ1RDTkZDZGFtMDZNWjk1MGxSOEZ0Z0dW?= =?utf-8?B?cGFFNEhlUVRRcm90K05BYXRhMTBVclBGNHF3RUtFR1V1dFJQVk5IQWNXendu?= =?utf-8?B?RkhxeTRJRnlFSndqaUFMN04vR2wxM1V6YXBTTkw0V3hvVmRvbFlGQnBKUEhq?= =?utf-8?B?S3ByTEN5bCtTVnRPc1pTYU40OGozSzVzbnJlTFFaWWhQSmNqeGlEVFpjU1lk?= =?utf-8?B?aEVKSkliUWNOdjN2M292bHl5ZkFUTlR0K3pGN3dkNFZWRlBWYTNISFVSY3c5?= =?utf-8?B?ZVlnZHFKdmNtVVBPU3E5aytHVUw2OC9Qb2llUVRTVFZlS0FTQytpWFM4M0xR?= =?utf-8?B?OUVvTnRqYlVpZlpaUmtBNUhST1pxdVBXcHhSeHJPLzh0bmVLamRQcXhXeWJJ?= =?utf-8?B?TkRGU21QeGY5bFNIMHJWbDhaK2tBTDVPdDFKVUkxZ2hpOStSRGYraGJkMXhq?= =?utf-8?B?Y3o3NkJWVk5CQk5xcUJFTUZ6Y1B5clFrblFWSmVrZDA5RTlHNWxQdUJmUG5s?= =?utf-8?B?YXlFeHpPYUlPU29QNm9YeTRaSEJsWWxKcDU3dFZGY3dHeVRZUGFOVWFIcllB?= =?utf-8?B?cS9wTVdKL3p1MmtEd0FwT1pZV2hCaUczM1lxM0JZNEJJby9iNEZWbVdOYzh6?= =?utf-8?B?RWw3NmI3djB1bzVod2hxZ1FUb0twb0ZMQUpRVTBkdmNNTmd4TnRoWVIyRndl?= =?utf-8?B?d01KeU1oeTZGeXZOMnNjWCsxSStmS20wWnU2OFovWG1udnJIaUFaclV1Si84?= =?utf-8?B?aDlFQlViWUttcHFKMEhSMjU5eXBGMFpkRXMrcG9VRGdKUlluU1lKYmQxRU1t?= =?utf-8?B?SkhNZ0pvQytCQXg0VjhSMm9WQW5Xa01PNnV0NDEwaWJpYXhMZkkyc1lYNjgr?= =?utf-8?B?VnlZYmpxa2RubnM1UG5wNWVlWjFFb1ZsZEd2QXU1aDhnS3dDdFNzZjYycUo0?= =?utf-8?B?QlloZmJFbEIzMURBSEswL3FBOUhXdHhkWStWZWFQN2w5bFlwZEppbTUzNnNN?= =?utf-8?B?SFYxaFlLOGRtZkxoVGpNUVhyd0xYdUZTVyt4Q25IMmFoSEF5ZU16ZVBRaDVX?= =?utf-8?B?ZllwVEJVSkhSMkY5K0JVbi9EdUY5N0F6QXNUNXZyTm9YOHlLY2M3V0hBTW5z?= =?utf-8?B?RFF3ajhwOHZhN2pKUEQxaUNXWERKckJKWFZzeWxYVWlWbEFLdmdMSVZTcXZD?= =?utf-8?B?enRwY2d5Nm03bHB6YjI2aURzNGJWaE1iZ0RQMjdnMk5ObDU5VTlzOE5WWXNH?= =?utf-8?B?aldIWUtuQ1JOZkplZ2N3VjlIbjhZRVU3TnJ0cTI5b1JJSVhEUTVJMjhaSHNp?= =?utf-8?B?ZnJRYXNiVjhKL0ViSk45NmtDNU9RTm56dEFmeE9qdUZPWEd4bDJoY1NNclo3?= =?utf-8?B?T2pISFhtUjloY0o5Rm1KL3ZUWjFiUzJzY1RYTG84cmE2YTdLT2xBZWh4RkpY?= =?utf-8?B?ODZzOXlPTXd5S1FnOHhTWlBaY3ByTExkb3ZyNzdsOVFLN3hvbHNWRG54b2di?= =?utf-8?Q?XMP7xeUXHqJhv?= X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: FVnAnpy/a5xqdc1PBW/br9v6Z5ccSDVz4lPi+qZty/I6kmFPKpbD0gNGu+uR2LZ7+stWbHNqoljOv8csqLFVguO3iI64y7NnJkxtJb1Zi2kS5xUs9Rqo77qNH3GlAsyMtpB5gAVA+ob2euH3QT6AaHcBqhOvYvf7ll8un1fub0OkAbxlzey9YXisLS+ryxk/2OE0zhAcK6G/buvNbs9s5Bsju6YrRQwEXxkKAG99SXjX6ijz4yPP2GH4bWlM8VLa43Kvr+g0d+0hgEeOL5u9z3t8sWz1u6F40t5hQPwYQ1+efpU2LWP1D2s9bKhF2coCybIQd9tEJpftUJlZ9xZLCalYyfJrGa21RaebSY/SywAn2Yk1qIshoweoLB2O+W2DHqA6otLbiRcezPfqDdqRNSpLjjQVWw+/vEyEf80+M9A= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2019 01:02:42.7195 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fae3b9ca-9343-496d-d20f-08d6a1cf7007 X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=a652971c-7d2e-4d9b-a6a4-d149256f461b;Ip=[193.47.165.134];Helo=[mtlcas13.mtl.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB4574 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/03/2019 00:37, John Hubbard wrote: > On 3/3/19 1:52 AM, Artemy Kovalyov wrote: >> >> >> On 02/03/2019 21:44, Ira Weiny wrote: >>> >>> On Sat, Mar 02, 2019 at 12:24:35PM -0800, john.hubbard@gmail.com wrote: >>>> From: John Hubbard >>>> >>>> ... > > OK, thanks for explaining! Artemy, while you're here, any thoughts about the > release_pages, and the change of the starting point, from the other part of the > patch: > > @@ -684,9 +677,11 @@ int ib_umem_odp_map_dma_pages(struct ib_umem_odp *umem_odp, > u64 user_virt, > mutex_unlock(&umem_odp->umem_mutex); > > if (ret < 0) { > - /* Release left over pages when handling errors. */ > - for (++j; j < npages; ++j) release_pages() is an optimized batch put_page() so it's ok. but! release starting from page next to one cause failure in ib_umem_odp_map_dma_single_page() is correct because failure flow of this functions already called put_page(). So release_pages(&local_page_list[j+1], npages - j-1) would be correct. > - put_page(local_page_list[j]); > + /* > + * Release pages, starting at the the first page > + * that experienced an error. > + */ > + release_pages(&local_page_list[j], npages - j); > break; > } > } > > ? > > thanks, >