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 7AE08D43360 for ; Thu, 7 Nov 2024 13:50:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A884F6B0083; Thu, 7 Nov 2024 08:50:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A12316B0088; Thu, 7 Nov 2024 08:50:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B1C66B0089; Thu, 7 Nov 2024 08:50:35 -0500 (EST) 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 68C3C6B0083 for ; Thu, 7 Nov 2024 08:50:35 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 1BF0E140788 for ; Thu, 7 Nov 2024 13:50:35 +0000 (UTC) X-FDA: 82759432938.23.D91B6B0 Received: from verein.lst.de (verein.lst.de [213.95.11.211]) by imf12.hostedemail.com (Postfix) with ESMTP id EA9D94001A for ; Thu, 7 Nov 2024 13:50:16 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf12.hostedemail.com: domain of hch@lst.de designates 213.95.11.211 as permitted sender) smtp.mailfrom=hch@lst.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730987373; a=rsa-sha256; cv=none; b=up/+HLBQd6tftLn+1X5hGy+sq0k+0ELprBevbWqOpfiG3Dkjhl0fxPJP2BULqg/vyfGAgt oIhxlnSvMksV0a6evyJ4d/YpkxKK/4xNWERaa95cKZHd9x/Ttj3TKE6wLIKgvbWHID0aGr hlixVAtpnwEi8SERlh9WwFdOLGKrmnE= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf12.hostedemail.com: domain of hch@lst.de designates 213.95.11.211 as permitted sender) smtp.mailfrom=hch@lst.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730987373; 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; bh=sPucvqyqUcoqOwZjTg+VmWRKh0S4L+FdZJigP4mqlw0=; b=RlP58U3JrDOH4OAdGkOJHbSqfqVeyw+5YvOwFMcHJ8gXgdUBzKHo+Y9+5WDy/Xkt4JgTx8 b94xilDCg6fNme5uYLwshNgRpmRoWEc9FVVPgdGc4T2BOV5Dq664qAcak66i8MqYMqGVD+ +P7NkJaFpWcFH/pW99eOcfMF01UOc34= Received: by verein.lst.de (Postfix, from userid 2407) id A292468C4E; Thu, 7 Nov 2024 14:50:25 +0100 (CET) Date: Thu, 7 Nov 2024 14:50:25 +0100 From: Christoph Hellwig To: Jason Gunthorpe Cc: Christoph Hellwig , Robin Murphy , Leon Romanovsky , Jens Axboe , Joerg Roedel , Will Deacon , Sagi Grimberg , Keith Busch , Bjorn Helgaas , Logan Gunthorpe , Yishai Hadas , Shameer Kolothum , Kevin Tian , Alex Williamson , Marek Szyprowski , =?iso-8859-1?B?Suly9G1l?= Glisse , Andrew Morton , Jonathan Corbet , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, linux-rdma@vger.kernel.org, iommu@lists.linux.dev, linux-nvme@lists.infradead.org, linux-pci@vger.kernel.org, kvm@vger.kernel.org, linux-mm@kvack.org, matthew.brost@intel.com, Thomas.Hellstrom@linux.intel.com, brian.welty@intel.com, himal.prasad.ghimiray@intel.com, krishnaiah.bommu@intel.com, niranjana.vishwanathapura@intel.com Subject: Re: [PATCH v1 00/17] Provide a new two step DMA mapping API Message-ID: <20241107135025.GA14996@lst.de> References: <3567312e-5942-4037-93dc-587f25f0778c@arm.com> <20241104095831.GA28751@lst.de> <20241105195357.GI35848@ziepe.ca> <20241107083256.GA9071@lst.de> <20241107132808.GK35848@ziepe.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241107132808.GK35848@ziepe.ca> User-Agent: Mutt/1.5.17 (2007-11-01) X-Rspam-User: X-Rspamd-Queue-Id: EA9D94001A X-Rspamd-Server: rspam01 X-Stat-Signature: aog56a36ddsac5gbm11cebo91gtfnmxz X-HE-Tag: 1730987416-678054 X-HE-Meta: U2FsdGVkX1/nAWw7tCRnyve17d+obvpH8pt/z9P2vBKkU132EviNV6uEGGjMjut0CtpM80ZTlE3QxrogiwmS7N3g2jMGs1pWEyvBweEdHSZS8veEtaLcMfshfQVOupq53qT8guYorOHGCT1/2RmIQvICBNQeP4V8R4zYUQg5rpBotgolgh9W+aFQ3JKsxcf7Xtryss1oWDOkCoNsD0boH/1mhuqrBJhzCr6oLokEqLyOZdr/+eyCttoLKvOsbG5RNn99L5lbikVv6YESs60ayVe3tO7ICap+Ua+1ySWSguJRy0wlggyE7JHoYn/f5U8K9Iv2VymmKimVnG6QKpS3WkDXQJuY5yhDtcbd2zdFsMmaCVT0TWNlgqOcU+bNeBtcT+fLubAHyB1DsJUBt0jPnMftjFlpY8jqTPpeqJPvoXCMbORti+vw86kBIiYi95UfIQ5h7ocp636TDF1ipyWCwF393ZfKyidaG4bwXbcssY+H/0XZRYsajGglf2rWSkxvM/bgAXgU02BcY9cT8Sv5IxE95mqQle5fGe37khpxRGF137wEip6EKMgtXnfeFcVWQ3a9560PMA4ULyuyag+aRA2C92LOQEE0FojoMm17UWjfE+IO8p+kJBt+ADhobl2WWAQRL6n9qCpvZST8VTYluynQNkhqzoC0eUskKQ07ITjCVU7DrT61peaeaiKRUenV2oNIXXuQI75NKU4dGYDGmvmBZqC87/BkpO5xHRFnMn4S5sN9uXzJda8E9OKVmN2B5sVSXkDPiLSqH/7gOgnAGpK9nS4n78FlWWWPvjnOBvoHp07vbU41x0OLOA4Y78T4JKpZob7rdCIAZMtqJJM0MB2DHpWEgXRlDwDZi1YC+KzDbP96Mh8IX6DhLhkZgwC/+fn1gsdWaYotlt5/AitA45bcSIto6ikyJu5mBDRMRhTvx7hGLsQXI9a8SE0V6mK2Gyvz52HWblXfTJv/+1A Yzu/AvYk SihIVwuBmvgUHVP0HlnJRmXtpJsPgoU+8Ez7hVjTtaCJe3kD0zKWfVgIrmYJFbpGSmPnZIxF46h/BeY1haP1MG8D6KrDrYeRzeSMcQ5gGrgNLkxMSxQbuFK5+Xw== 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: List-Subscribe: List-Unsubscribe: On Thu, Nov 07, 2024 at 09:28:08AM -0400, Jason Gunthorpe wrote: > Once we are freed from scatterlist we can explore a design that would > pass the P2P routing information directly. For instance imagine > something like: > > dma_map_p2p(dev, phys, p2p_provider); > > Then dma_map_page(dev, page) could be something like > > if (is_pci_p2pdma_page(page)) > dev_map_p2p(dev, page_to_phys(page), page->pgmap->p2p_provider) One thing that this series does is to move the P2P mapping decisions out of the low-level dma mapping helpers and into the caller (again) for the non-sg callers and moves the special switch based bus mapping into a routine that can be called directly. Take a look at blk_rq_dma_map_iter_start, which now literally uses dma_map_page for the no-iommu, no-switch P2P case. It also is a good use case for the proposed dma_map_phys. > GPU driver > > https://lore.kernel.org/dri-devel/20240117221223.18540-7-oak.zeng@intel.com/ Eww, that's horrible. Converting this to Leon's new hmm helpers would be really nice (and how that they are useful for more than mlx5).