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 03FEAC6FA8E for ; Fri, 23 Sep 2022 23:51:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2951F80032; Fri, 23 Sep 2022 19:51:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2443C80016; Fri, 23 Sep 2022 19:51:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 10CA980032; Fri, 23 Sep 2022 19:51:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id F15D180016 for ; Fri, 23 Sep 2022 19:51:58 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id CD40F80150 for ; Fri, 23 Sep 2022 23:51:58 +0000 (UTC) X-FDA: 79945000716.08.D42A7B8 Received: from ale.deltatee.com (ale.deltatee.com [204.191.154.188]) by imf14.hostedemail.com (Postfix) with ESMTP id EF4AC100002 for ; Fri, 23 Sep 2022 23:51:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=deltatee.com; s=20200525; h=Subject:In-Reply-To:From:References:Cc:To: MIME-Version:Date:Message-ID:content-disposition; bh=cUg53KE3fCr2/FM4+1kQkCEVRqSvO20HjqayFNgCRrQ=; b=HQCDu9xSfwPWo2IPeb8laTwEUj aojQ22j+YpDB7arOxLtqv/XTjJlXZ14DxoQIoRSdqO2DCxXtXccBs828NSjTpfdIGgdmDgM6+wRgP H145SxIcGPfhB3EO80i9LWj9O/Z3rL9Y3orfoCINZt7lo/yVWySkPWiFwacu+xqZWrboA7/l2ZAm5 MJzV/MqzvOXwjZ/UCNMEpP7LsmnGp//2QHFY4w+PoiSiN6mNCWxR7AWP219xKbRPoGBnONMrFVDNd p7X5PblnErvbuQu2sXqwpEGBfpOLMlK/UxRj5Nq2iLzHNBVH35xZckDyFI6l67EYyPdbXRkLcRIdf hXRZbR7A==; Received: from s0106a84e3fe8c3f3.cg.shawcable.net ([24.64.144.200] helo=[192.168.0.10]) by ale.deltatee.com with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1obsSW-009191-O4; Fri, 23 Sep 2022 17:51:54 -0600 Message-ID: <980899e1-532a-772b-2f6d-6fb017def50b@deltatee.com> Date: Fri, 23 Sep 2022 17:51:49 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.13.0 Content-Language: en-CA To: Jason Gunthorpe Cc: linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, linux-block@vger.kernel.org, linux-pci@vger.kernel.org, linux-mm@kvack.org, Christoph Hellwig , Greg Kroah-Hartman , Dan Williams , =?UTF-8?Q?Christian_K=c3=b6nig?= , John Hubbard , Don Dutile , Matthew Wilcox , Daniel Vetter , Minturn Dave B , Jason Ekstrand , Dave Hansen , Xiong Jianxin , Bjorn Helgaas , Ira Weiny , Robin Murphy , Martin Oliveira , Chaitanya Kulkarni , Ralph Campbell , Stephen Bates References: <20220922163926.7077-1-logang@deltatee.com> <20220922163926.7077-2-logang@deltatee.com> <64f8da81-7803-4db4-73da-a158295cbc9c@deltatee.com> <2327d393-af5c-3f4c-b9b9-6852b9d72f90@deltatee.com> <3840c1c6-3a5c-2286-e577-949f0d4ea7a6@deltatee.com> From: Logan Gunthorpe In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 24.64.144.200 X-SA-Exim-Rcpt-To: jgg@ziepe.ca, linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, linux-block@vger.kernel.org, linux-pci@vger.kernel.org, linux-mm@kvack.org, hch@lst.de, gregkh@linuxfoundation.org, dan.j.williams@intel.com, christian.koenig@amd.com, jhubbard@nvidia.com, ddutile@redhat.com, willy@infradead.org, daniel.vetter@ffwll.ch, dave.b.minturn@intel.com, jason@jlekstrand.net, dave.hansen@linux.intel.com, jianxin.xiong@intel.com, helgaas@kernel.org, ira.weiny@intel.com, robin.murphy@arm.com, martin.oliveira@eideticom.com, ckulkarnilinux@gmail.com, rcampbell@nvidia.com, sbates@raithlin.com X-SA-Exim-Mail-From: logang@deltatee.com Subject: Re: [PATCH v10 1/8] mm: introduce FOLL_PCI_P2PDMA to gate getting PCI P2PDMA pages X-SA-Exim-Version: 4.2.1 (built Sat, 13 Feb 2021 17:57:42 +0000) X-SA-Exim-Scanned: Yes (on ale.deltatee.com) ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1663977118; a=rsa-sha256; cv=none; b=SnV0n/O4PUlHGT8/IaVE/h6c9eI6rKmSS7gz36Y3uq6F2TTni4DbGvi6mFakPduW1ZBdPV XjZSPqOOnTGUGyF186O815AdjeqJNCF1wXt3II5r2UOjLed9Ku7jtWWs9aTMRnq1BvSaHZ 5ybp6xDvkpIkEj/vVo7Af2Hg8aAnMyI= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=deltatee.com header.s=20200525 header.b=HQCDu9xS; spf=pass (imf14.hostedemail.com: domain of logang@deltatee.com designates 204.191.154.188 as permitted sender) smtp.mailfrom=logang@deltatee.com; dmarc=pass (policy=none) header.from=deltatee.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1663977118; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=cUg53KE3fCr2/FM4+1kQkCEVRqSvO20HjqayFNgCRrQ=; b=rntA2ejFwxAQJb6p4XzikxnNy827qT1Xy/ZE3M5TpJ6gEyxUy2p4ysfsRGSJX3W8zi0GS1 Y3CLbt1O8iG9KeQ/0pi6ZHwhNkU26Sb7DB3Rb5yg8SvcSjau2wCOI+DcYQ3xtfHGPYiWCe flsKvklSjK249bBTsbTaTDwjVaRZQP0= X-Rspamd-Queue-Id: EF4AC100002 X-Rspamd-Server: rspam07 X-Rspam-User: Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=deltatee.com header.s=20200525 header.b=HQCDu9xS; spf=pass (imf14.hostedemail.com: domain of logang@deltatee.com designates 204.191.154.188 as permitted sender) smtp.mailfrom=logang@deltatee.com; dmarc=pass (policy=none) header.from=deltatee.com X-Stat-Signature: d3qzhrkwn6q9a8o3ad9ep4sb7e4zc7yq X-HE-Tag: 1663977116-127134 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 2022-09-23 17:21, Jason Gunthorpe wrote: > On Fri, Sep 23, 2022 at 05:14:11PM -0600, Logan Gunthorpe wrote: >> >> >> On 2022-09-23 17:07, Jason Gunthorpe wrote: >>> On Fri, Sep 23, 2022 at 05:01:26PM -0600, Logan Gunthorpe wrote: >>>> >>>> >>>> >>>> On 2022-09-23 16:58, Jason Gunthorpe wrote: >>>>> On Fri, Sep 23, 2022 at 02:11:03PM -0600, Logan Gunthorpe wrote: >>>>>> >>>>>> >>>>>> On 2022-09-23 13:53, Jason Gunthorpe wrote: >>>>>>> On Fri, Sep 23, 2022 at 01:08:31PM -0600, Logan Gunthorpe wrote: >>>>>>> I'm encouraging Dan to work on better infrastructure in pgmap core >>>>>>> because every pgmap implementation has this issue currently. >>>>>>> >>>>>>> For that reason it is probably not so relavent to this series. >>>>>>> >>>>>>> Perhaps just clarify in the commit message that the FOLL_LONGTERM >>>>>>> restriction is to copy DAX until the pgmap page refcounts are fixed. >>>>>> >>>>>> Ok, I'll add that note. >>>>>> >>>>>> Per the fix for the try_grab_page(), to me it doesn't fit well in >>>>>> try_grab_page() without doing a bunch of cleanup to change the >>>>>> error handling, and the same would have to be added to try_grab_folio(). >>>>>> So I think it's better to leave it where it was, but move it below the >>>>>> respective grab calls. Does the incremental patch below look correct? >>>>> >>>>> Oh? I was thinking of just a very simple thing: >>>> >>>> Really would like it to return -EREMOTEIO instead of -ENOMEM as that's the >>>> error used for bad P2PDMA page everywhere. >>> >>> I'd rather not see GUP made more fragile just for that.. And on further consideration I really think the correct error return is important here. This will be a user facing error that'll be easy enough to hit: think code that might be run on any file and if the file is hosted on a block device that doesn't support P2PDMA then the user will see the very uninformative "Cannot allocate memory" error. Userspace code that's written for purpose can look at the EREMOTEIO error and tell the user something useful, if we return the correct error. If we return ENOMEM in this case, that is not possible because lots of things might have caused that error. Logan