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 531EED5C0ED for ; Fri, 8 Nov 2024 15:25:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E22BF6B009B; Fri, 8 Nov 2024 10:25:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D84F66B009C; Fri, 8 Nov 2024 10:25:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD7C86B009D; Fri, 8 Nov 2024 10:25:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A027A6B009B for ; Fri, 8 Nov 2024 10:25:41 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4A8C780DD4 for ; Fri, 8 Nov 2024 15:25:41 +0000 (UTC) X-FDA: 82763301726.16.F8D5F7F Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) by imf04.hostedemail.com (Postfix) with ESMTP id 7925640029 for ; Fri, 8 Nov 2024 15:24:52 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=XE9ZXGDB; dmarc=none; spf=pass (imf04.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.222.169 as permitted sender) smtp.mailfrom=jgg@ziepe.ca ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731079479; a=rsa-sha256; cv=none; b=jHdd1Ima/QKr5/rGJGOioU/1NrFHukqB5vhQAUyuGxHXNo1p+EucAoETfB7ZT7p2p5mkZT KQfBrBL7x3pSllWptT9jwO+22tqo774wmX1o0OpZuhSzdTJt/7nhaLlwYg0jU1vUX9hswl J/FMyLDwXHVKaStGB+dMsFJOMtFDufc= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=XE9ZXGDB; dmarc=none; spf=pass (imf04.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.222.169 as permitted sender) smtp.mailfrom=jgg@ziepe.ca ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731079479; 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=nbYXv3yCM9yQzCKa6ScUYgOxj5i+yJ5Ve18Z6DNxO2Y=; b=Kxhni37FTWpWU17f4Dthi6o2gQRXe9MT41p+R/ta40YhyJVsGiz/TyjVhOvUDZT+B18fv9 Jyit2dwB1lf3OnfuQSUObeJhzXdi4pO3x9ecFfr5tBxVMk+2TbWYSTW+0ugqCgzHxwxCGo mqO/tdDx4Zs0f0GBsKz39Z073Hh8EgI= Received: by mail-qk1-f169.google.com with SMTP id af79cd13be357-7b18da94ba9so212784685a.0 for ; Fri, 08 Nov 2024 07:25:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1731079538; x=1731684338; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=nbYXv3yCM9yQzCKa6ScUYgOxj5i+yJ5Ve18Z6DNxO2Y=; b=XE9ZXGDBLr09kyAm9FyFs+x7D0KaTuw4mgvVPK+Nfax4aEz446QdAvLFXno8HikPTY kQndV6qv8dyREKZ5jljnrMyLhnGtabz0k+IkqGDXdDI9d/Nvt7uNHTeBmHA3Losfu4eR PqjOuaFG8gwYl1HTXtUP8Lzm0QtNEPaz3grLFu/a1jgPw7bdywLjaHv6cI6gC0tAlhNW 5GL38e/swTcensGJlu9QcBMG8J9NaKEJLkpJJIqHK5hGL7vIc8SoD2ixsCrduEJ40Voh 9MafnSmlOrGadbLhkOzSsLxzRotIaVz6R9WB4KgGWi3hSP/Qfn2QhjCKXPFgpemTDBSV 6Z1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731079538; x=1731684338; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nbYXv3yCM9yQzCKa6ScUYgOxj5i+yJ5Ve18Z6DNxO2Y=; b=QVNaljqLv29WCh2hBd8lG1GmDSFRhbqh3eXZD9hIUDM2u1TzkY1L6/xR774ewMEWnx P6qqtGPknU59dSFJ5j7R+237RKsKil8pXY8A0xJbRpS9eJggBHdl6Fzb5a+WF0d/6DUj zkBGv2oV4WDP2OU6ycLanYxOn2diMgmdaBzVNfFchkNmupKEcHk5dZ2g9xKB8Z23f3Qx k0lBUseyFd83+MCOIGVdCDVBHWpOTnwFMaVkOGZ3IlmRcsXWSc0BdP42JYT+c2O5A6ps DpDY/E3ekclw9ghKtve7IG8tOAiVLPzOw6FKtKO8K0Wt4TgnhSmEp6ukJe4DYdE5E1cH zc0g== X-Forwarded-Encrypted: i=1; AJvYcCVAHavw7PftN8izlf6uY/1SpiNvDrJdTABg6t4wBKCUERrwH4g+xF3U8QcfX/fAK0eJ9vIDGm8yHQ==@kvack.org X-Gm-Message-State: AOJu0YwHxafqFtQjrmxXxk4EziFI1kWEcGjXkfxAfF/TAL5YkpuDQdlk u4HM8mEfXSf8e8RvdJ/wIzOZ/zENnCSJd/n+Xg30y5jMREyoJ+976by28U+f4xw= X-Google-Smtp-Source: AGHT+IH4eRArrUDZm2rUOb5KR+8EAvAFtyYH0Fr2uIHFPXrPpQnSMiiNxtBbq8LowDrIix/biyMB3w== X-Received: by 2002:a05:620a:4049:b0:7b1:4cc0:5e32 with SMTP id af79cd13be357-7b3328aeb7dmr490547585a.9.1731079538361; Fri, 08 Nov 2024 07:25:38 -0800 (PST) Received: from ziepe.ca (hlfxns017vw-142-68-128-5.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.68.128.5]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7b32ac51659sm170158385a.42.2024.11.08.07.25.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Nov 2024 07:25:37 -0800 (PST) Received: from jgg by wakko with local (Exim 4.97) (envelope-from ) id 1t9Qrh-00000002Zza-1RVx; Fri, 08 Nov 2024 11:25:37 -0400 Date: Fri, 8 Nov 2024 11:25:37 -0400 From: Jason Gunthorpe To: Christoph Hellwig Cc: 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 , =?utf-8?B?SsOpcsO0bWU=?= 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: <20241108152537.GN35848@ziepe.ca> References: <3567312e-5942-4037-93dc-587f25f0778c@arm.com> <20241104095831.GA28751@lst.de> <20241105195357.GI35848@ziepe.ca> <20241107083256.GA9071@lst.de> <20241107132808.GK35848@ziepe.ca> <20241107135025.GA14996@lst.de> <20241108150226.GM35848@ziepe.ca> <20241108150500.GA10102@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241108150500.GA10102@lst.de> X-Rspam-User: X-Rspamd-Queue-Id: 7925640029 X-Rspamd-Server: rspam01 X-Stat-Signature: xjepkk6xkw1cyou6nr3ysc3yyxpegy1r X-HE-Tag: 1731079492-278689 X-HE-Meta: U2FsdGVkX1//2KMgjT7tPzckY39GbbWOyGZzyYkybte7ux9SAdNvFA1qDMowJsxVmh31pegb7uRZG7yWALA18I3PhRoB1WA2JaofXppK9eu38AC9w4AeJPOuegMmLlxRDgFNBMnvptSyw8u7wNUBA4M1QkxB7d7YGbVeBCDqZ8/BRUq8brInW1HBkXwfkYkocBQrPOD8BGikY9aRtn1opvUBenwz2YwE3+cT1UtEMImE/IXR5slXqt+p2Kz6sgbXqoy6+c8dcojTTbv+FgNX3IiLuYRxKeDwFGTiwaNF0A9Jdr9YiXP14+ZX+Ur8IaDtMjWi9K0y+wesHvJGsPYqO+HEVDMI7XGTbWRk0Og4RUbGandUMMmQEfk8qdDXtHOzgd28pFZQd6LsxwEOcCrvDM3bXMR1iakYroWQJRieG/RsT4wqnOWWpfkr6NCfox1JDOuHOz65RNma7/mOeXPvnzB5TwjhYetrdqz+Tj3jUzi5twyUcZISbRhWha3l/czmIlFFGlUbM0f1K8GMMFbemeBVP3F8Lq4d1QYBJdFqOZClcDi/ZI/KFpjaSuV/pOpLCfkJqmtqUSOFJolp+dBuKIWSjLZZQ0Vfxr5Yv/Tkqx8p8vGSAQef+jIjlhKjTC6j9Z26eFz6zXEO7w1ot0vWpput6mKbsgFqbWG83/S1sKsLgLc48GzmMjT9Al3eAUXti5xCVBNZ9E9TyF9INGYJN8JuIoaM/7E6MxX3yJFovkkvtwAUTsfjPryCmkiHQsHhXDn8TkNJ+qdR9d8ew5JbDw6HxucWY9tWAD12MzaBSfjmAuhCgKZdu7XNwedjdNSmF/6dAHYAEoqKjohkKuCtvGHEnbWie7DNNQMpCwVrm0PnLAJTIs6TleomUCbrylZsLoXdF+JnzXSHvDXesj3ydakDhon4Rfjr/2mm3xds+vDTGLHBIEGUjozwJM+IkpHjA/MWqxIcP9NkZz58opQ Ao6vX3c3 lEo6NfI/ye/akGDVXcDx+SRgodGkndqoeBYAEgoEkU/ETUrEiiR9JxUkdG29UepX6MbhQ3GmaH8LldaLhHXugXRXXAws70Exmbg+b0Zgdk0CovaJ7RAYYTrzBjDI19/a06PlR7LEfhilgyMOwXmrQHytffXOo0z7xQnd1QTe5A+n7gmiJ/KClx+1lS5/jUrfgxbenCADXipQo3TAXOelb+mpWMjOeGPSnNYk1RxffOaeM+hBuLGCAh45uXnHsqAXrbPOJLwHpZN8gSvqjj5x3wQb66BWX6aTvu4Re 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 Fri, Nov 08, 2024 at 04:05:00PM +0100, Christoph Hellwig wrote: > On Fri, Nov 08, 2024 at 11:02:26AM -0400, Jason Gunthorpe wrote: > > It is fully OK? Can't dma_map_page() trigger swiotlb? It must not do > > that for P2P. How does it know the difference if it just gets a phys? > > dma_direct_map_page checks for p2p pages in the swiotlb bounce > path already in the current kernel, and dma_map_sg relies on exactly > that check to prevent bouncing for p2p. I'm asking how it will work if you change the struct page argument to physical, because today dma_direct_map_page() has: if (is_pci_p2pdma_page(page)) return DMA_MAPPING_ERROR; Which is exactly the sorts of things I'm looking at when when I say to get rid of struct page. What I'm thinking about is replacing code like the above with something like: if (p2p_provider) return DMA_MAPPING_ERROR; And the caller is the one that would have done is_pci_p2pdma_page() and either passes p2p_provider=NULL or page->pgmap->p2p_provider. Anyhow, I hope Leon will attempt this once this is settled and it will make more sense in patches. I'm just brainstorming how I've been thinking of it. Another option would be some 'is_pci_p2pdma_page_phys(phys)', but I think that is going to be worse performance than managing a p2p_provider pointer in the mapping call chain explicitly. Jason