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 6B016D2A533 for ; Wed, 16 Oct 2024 16:41:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ADF286B007B; Wed, 16 Oct 2024 12:41:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A69066B0082; Wed, 16 Oct 2024 12:41:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9091A6B0083; Wed, 16 Oct 2024 12:41:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 717566B007B for ; Wed, 16 Oct 2024 12:41:09 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 04AFD408BF for ; Wed, 16 Oct 2024 16:41:02 +0000 (UTC) X-FDA: 82680030174.14.2D124AB Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf30.hostedemail.com (Postfix) with ESMTP id 60A8580019 for ; Wed, 16 Oct 2024 16:40:50 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=pNoSSNO1; spf=none (imf30.hostedemail.com: domain of BATV+6680796fe0e0bc9bbc38+7724+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+6680796fe0e0bc9bbc38+7724+infradead.org+hch@bombadil.srs.infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729096675; 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=OPi0Qi7ew8T7pJV/9wlWhHFA+S+BQq/imu/tsZu/g3M=; b=hCoaW43lTsxm5n6U2eehmA/nVfahvdgo9KDN24Yxw92ancCRX8Uy1C8HBfI/xw7sa3iJM5 ELgqiOWLIGiE2RH2n3FbVo2UcTFy3lr3KJBlWFx37S2k4pPl9s2bl4B/lUg/phLgr9afkC OC3zeHgP0srPsTOm3BiMZJ1p2bwbO4Q= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=pNoSSNO1; spf=none (imf30.hostedemail.com: domain of BATV+6680796fe0e0bc9bbc38+7724+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+6680796fe0e0bc9bbc38+7724+infradead.org+hch@bombadil.srs.infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729096675; a=rsa-sha256; cv=none; b=r293OVglkwJiE/PbUvTUYvnJonMp3fRzz6rLCM/wgFub/CbLgiInAnHEldEemKK/QGacBC MwUKEWu896aiviLelFPuhoGowZInBBwlszXI75TO2peFYgZ/mGPzer3/KPIuGw0rJObfRD Un4gnyuhgYtcBsFWq7kVRqgGAKNekYQ= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=OPi0Qi7ew8T7pJV/9wlWhHFA+S+BQq/imu/tsZu/g3M=; b=pNoSSNO1akqzN16H+ivxfA5F6w oWLzRYEjkRbAaCfvwjRsqoChyr/VQkXakM4Mbi8nq2NnY7pORaZUyuwbdqeej8/dP+0AqLPNPkifB Gr4nX3Gt8l6tMV3b8/qUc8rjJr5CG3U7D5CUga0I0daNg6ZTu4kYn5g6Z8WBuR85ejaxAAZyFC2UJ 8lUXbK650wYjKFdQAgObOgnO67YpBORX/azzOKG/jQ69CI1s0L61KgnmjjhT1kXPKUyaWXDBrM0I4 WO7s9MLrq0zfRmRxO60dkpYlqU3Ny8KaIT+aPGUIv527IDTi9eAZuDESu3iiPIJgd8BmNwwVPTHLr TEDDtT9g==; Received: from hch by bombadil.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1t1755-0000000CS4t-2ATs; Wed, 16 Oct 2024 16:41:03 +0000 Date: Wed, 16 Oct 2024 09:41:03 -0700 From: Christoph Hellwig To: Jason Gunthorpe Cc: Christoph Hellwig , Yonatan Maman , nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, linux-mm@kvack.org, herbst@redhat.com, lyude@redhat.com, dakr@redhat.com, airlied@gmail.com, simona@ffwll.ch, leon@kernel.org, jglisse@redhat.com, akpm@linux-foundation.org, dri-devel@lists.freedesktop.org, apopple@nvidia.com, bskeggs@nvidia.com, Gal Shalom Subject: Re: [PATCH v1 1/4] mm/hmm: HMM API for P2P DMA to device zone pages Message-ID: References: <20241015152348.3055360-1-ymaman@nvidia.com> <20241015152348.3055360-2-ymaman@nvidia.com> <20241016154428.GD4020792@ziepe.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241016154428.GD4020792@ziepe.ca> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 60A8580019 X-Stat-Signature: 1hqfdywgbnkb8mnsjw3fq5wunumzuzy4 X-Rspam-User: X-HE-Tag: 1729096850-963686 X-HE-Meta: U2FsdGVkX19Nhkkdb8KEQp1XC1vXQIQMFi4qmMxkByPyUlHpGdN985i3Qng33hNm2JQlknBvrsoEjemuyr9oyolZGWUrKl4QkzC810Hk6kHFKm9ojE2Xx9CvxOC6fqqpKOkZ4hwM9nvQL5YEFvbMRG+ANdrxWZXAoD15d/RfaHmu8k5ZIDapYMQgEV/07Fwt3VgaaiZzypmkrD6u89oz5rkkrgGv29cfT05Mw4gBcGW+KWQDoHSTiuwkeAzIPVofHf+x2l+uSlXvNq3RjGSYlorIAYpjetSTF1t1z/lHX+DzynOODTtSk6JyinLvIuBRreQNIm7+5Qjon2DiU560+AD1AXnhf6cp65ZC1Ud3F841MnKIMkhKVwX+qDONe3SlaGgF4idTaybab6SVKLTDC/DMEtA2LGsWHU/jD4sXAoGjIoyT18vFvefaHIRZFegcYIwjkK/W5IwPhxZf3ammnCM0NyDxonMkGx6Q7FOtwupofdRaINpF5m/JgNueYPXhmauea4FY8kBQK8hpB+apxEv8C58Og5Edl1CPgmJMIkgYBJrWtV2QObiX+HWBA3d4cU3yMONoLjB/KhZlWWMpozSn0IavJthTmvtKQbnaRxDoqYeWlIJfFDG5mM9yJtJDWIk1YlAkF/xhw924WhPTd3AwZSlx8UR1EuoBoVzERZKg8j8FVugz15Fp/jmidix/DvzFugBimg6e9vyFy2jTveQVZOVSFfo2POH/hND6F9mnn13n15PaOah1WvBNnqqp9AA5CnhiMGYofp8RKH0n91K1i7itCvETQPUWuOd1nYZzBH2JnGwuzzPz6v0Ww0FfmZEpD+ssOFqXAPSkSN90Yikj6A28ErASF6GVvknJyTWzF0xDxa6iChCPfDTSWe02VEsfOcFpMl9Gf44sb3ICkhNKWXGXA1dGeiu7LOE1uVztudU0UJpowwuC3i3N3LUtSlzhczTAN+5cHhpUg72 swa6pYm8 7QrpXktYwLPQRBhrtkMbwDdnNAVyTFayB23g8e4GJjJoNJd7yz+cejNFdIz/HEDBskQrwQSzOGjF4zZPGGem+gy4S/rcdhMM6kdGd/bG1xlo8NsW22HRLdxX4npaFvfa+CvS5LKoBPgOKYiAs8OsGZ9WHUqj7KCM4KYg8OEOI4lF6VyvF3Dnj/LepUWRJtuPzHBqjEFQWehNsG+VNBh1wRUgeHFHHSPXO92exCEvvwSrdDyBN7ayAx+ATDFKM2122LqYTBlKJ1xByRKelvC1NgyoJuSI4HmkGjxhL+VF27KGVKZJI9MTLxFdaf1m7DxbwSDl9irjqJKY47BZLrKAgKZMBSFVjR92ClDWTgEXTZxzZDEEy5thSMSFtnaixrwvAA7SkwydCj1BQ46DqSXtJMEGl1/R4Jpm5UkOVjOSCW0SI79GSXwSebbgROiM+5cwtC7YoUmwPDN0ifVQacrt/WtSYOwTFxnTuXe7f 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 Wed, Oct 16, 2024 at 12:44:28PM -0300, Jason Gunthorpe wrote: > > We are talking about P2P memory here. How do you manage to get a page > > that dma_map_page can be used on? All P2P memory needs to use the P2P > > aware dma_map_sg as the pages for P2P memory are just fake zone device > > pages. > > FWIW, I've been expecting this series to be rebased on top of Leon's > new DMA API series so it doesn't have this issue.. That's not going to make a difference at this level. > I'm guessing they got their testing done so far on a system without an > iommu translation? IOMMU or not doens't matter much for P2P. The important difference is through the host bridge or through a switch. dma_map_page will work for P2P through the host brige (assuming the host bridge even support it as it also lacks the error handling for when not), but it lacks the handling for P2P through a switch. > > > which also makes it clear that returning a page from the method is > > not that great, a PFN might work a lot better, e.g. > > > > unsigned long (*device_private_dma_pfn)(struct page *page); > > Ideally I think we should not have the struct page * at all through > these APIs if we can avoid it.. The input page is the device private page that we have at hand anyway. Until that scheme is complete redone it is the right kind of parameter.