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 ABDA6C36001 for ; Sat, 22 Mar 2025 00:41:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 87FAB280002; Fri, 21 Mar 2025 20:41:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 80A11280001; Fri, 21 Mar 2025 20:41:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6AA05280002; Fri, 21 Mar 2025 20:41:34 -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 4CCC5280001 for ; Fri, 21 Mar 2025 20:41:34 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 688B6140995 for ; Sat, 22 Mar 2025 00:41:34 +0000 (UTC) X-FDA: 83247333708.22.A400A94 Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) by imf10.hostedemail.com (Postfix) with ESMTP id 566C8C000D for ; Sat, 22 Mar 2025 00:41:32 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=QWFS+uUF; dmarc=none; spf=pass (imf10.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.160.178 as permitted sender) smtp.mailfrom=jgg@ziepe.ca ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742604092; a=rsa-sha256; cv=none; b=1np0pgPDN+ziWaYXSOZRZeNA6642sPoxzQ7mjk5Avf3gfe2iESRD8VE0on7k+ErMntcf/w 97z/dWa1nw+7fzUdCP4CMD7CdbCS38zo61bTsd3KOzqSJ7LM7kj6oDJ2sqixKh4KIUkZEn 95zl1RIRwKdT9gAJHBo2HRyAyJbxv/4= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=QWFS+uUF; dmarc=none; spf=pass (imf10.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.160.178 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=1742604092; 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=7w18pLCxgYQdbgr4L7Ilx5M+dDme30Hw40dLx2kJ/Cs=; b=cq6HtFVAnQ/CaiSEfsK4zkm+6iWXt5v9sHna/+LiERGPE6p9jNI7QuiAyWk/YNNBfLwGcc V8VxwiCl1j8lkPBM+x/ygEbYU58UFWTCnB5HRqr0JeQZazrAYHPpEH2lp2I1zKyeGu0BRq 7Bps5OSbLagL9CjcrkSXghtf66KLhkA= Received: by mail-qt1-f178.google.com with SMTP id d75a77b69052e-476977848c4so26020941cf.1 for ; Fri, 21 Mar 2025 17:41:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1742604091; x=1743208891; 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=7w18pLCxgYQdbgr4L7Ilx5M+dDme30Hw40dLx2kJ/Cs=; b=QWFS+uUFYWrabCRHtvxvBdMgUaqGcdf7RqPnadN39WDYEcIpZeu8fgADPCF6Jo/1Aw B3yciAF+3S6EyW7FTy6sPghR3aCJQ7LXxJvsgL5ux+DFyEScfGosZiSwdPxYGknRa5Bh YhfKk4kGrFJ1ZqVuHbpIkV1BK++Gjw9icNcu2Ol2uWO123cB9m7gmDngnmX3p2aiQob7 wyxycVsN9dBZW6alsXoYHpIf8qLVe19xv9OeczAW9lksf1pvDfOjT0yQZO5BJChmU6Wk 03po0vkL4fZeoXN7zSh0l+U79rzKK1mAyCpEMpM/e2RkwC69WRN/LOyZ14k2zPYdEeEr 4tow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742604091; x=1743208891; 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=7w18pLCxgYQdbgr4L7Ilx5M+dDme30Hw40dLx2kJ/Cs=; b=rnW5sVL4J6YVwf6lQnvwHowAvHGqjBZWKmNAhW+Fc2PJ7kngCxD+FJRvgT9N+9nlvD ltwfn9dlFTCz1RHAxRjqAaiw/9PLk5qqotmMf6q7xnZqkBhxmQYuvXC/SxaWyXh9Cvhc xWpNUvyXE0QYT1oFUHRv5MLLw5f/P1WPyboXIHrOqUSgJHrj2iNpsDFooV+PpWpzZrBC goUVyCj+7RuXgFcbmvLdsHaLy7rmyLQOZpGtQFFEbiaiGPKTMBAZleyC7MQMEJtNvjAJ O9H8eC/GMvu4I9lxxJ2qE4JdElW4Wb6EzpigligAKNNXTSIbdXjQP5Bm5VWJ+kXTNm6n OsDw== X-Forwarded-Encrypted: i=1; AJvYcCWEi/QHAKCwfkcLS2bhy37I9Vr35PP0BvM+FOsm2zqPYdy/b6zObnXpzbcFFDbzOt9RJn1Bd/swSA==@kvack.org X-Gm-Message-State: AOJu0YwbKnHLQj3K4XRux3mxWaQPDXg/6xTsNdVg62jQoGSkQkCIE1/R 8+rfvp6JzkMiqwPv3WuBQ4VAHNWN0xZKyVeYWlcS6GXuAtQnwN5VjVoQkp4+bmE= X-Gm-Gg: ASbGnculDPSXrAd3DJPP/qOyL9pARTJBBU25jBKAGmp83x/yy6qdfqVuPNaMg5yxj2D GNc+FaIxaTjT6MO8PZqSLzZVM6OlQLql0NNN9iaAaXj6iiMwFwch+QCXwACHbmEjQoH0+x+m7Hc wD3ZTAeyfi+f5TOYN/nZBUmwNe7a00mzrzVZk22DivO14Fb/hf4V50aUMk9io7TgUjDtk1wPovI vD4pAvHF0xzHQYjdzpP6yx4Sf5f9iDh/Ya9bUEe64sY1cTlc9ooasnbfHuQ2u9f5NAnDAM2f0oC tx1shZSHwS1lZSIW6653wkmqYlIyvV8XbmGP26canuBv751Yx+2MM+Ky4j44VcKKLtP0cuOgS57 p0KZyuP9ALgKsgOmuC0giGcc= X-Google-Smtp-Source: AGHT+IF3UkobCdIF7lNWuu9KRAhdJDE5q4DcYOtKKTS+FcoMl1AlUzXXVqHHTKDK0VlDF9Mdifo+AQ== X-Received: by 2002:a05:622a:480c:b0:476:b7e2:385c with SMTP id d75a77b69052e-4771dd5d0e6mr84261721cf.2.1742604091376; Fri, 21 Mar 2025 17:41:31 -0700 (PDT) Received: from ziepe.ca (hlfxns017vw-142-167-219-86.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.167.219.86]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4771d0ad87esm18121731cf.0.2025.03.21.17.41.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 17:41:30 -0700 (PDT) Received: from jgg by wakko with local (Exim 4.97) (envelope-from ) id 1tvmva-00000001CZm-0pDT; Fri, 21 Mar 2025 21:41:30 -0300 Date: Fri, 21 Mar 2025 21:41:30 -0300 From: Jason Gunthorpe To: Marek Szyprowski Cc: Leon Romanovsky , Robin Murphy , Christoph Hellwig , Jens Axboe , Joerg Roedel , Will Deacon , Sagi Grimberg , Keith Busch , Bjorn Helgaas , Logan Gunthorpe , Yishai Hadas , Shameer Kolothum , Kevin Tian , Alex Williamson , =?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, Randy Dunlap Subject: Re: [PATCH v7 00/17] Provide a new two step DMA mapping API Message-ID: <20250322004130.GS126678@ziepe.ca> References: <20250220124827.GR53094@unreal> <1166a5f5-23cc-4cce-ba40-5e10ad2606de@arm.com> <20250312193249.GI1322339@unreal> <20250319175840.GG10600@ziepe.ca> <1034b694-2b25-4649-a004-19e601061b90@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1034b694-2b25-4649-a004-19e601061b90@samsung.com> X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 566C8C000D X-Stat-Signature: 5xzjnd6xyhrph8nysk8677jgdu58eran X-Rspam-User: X-HE-Tag: 1742604092-578055 X-HE-Meta: U2FsdGVkX1+fFJNFQrmOMRjvavK4W72OSg//KDkxpc2BntHVaBE3qwILVBgRVkA29ho7SWvaRHUxTUsya50LsPjSfkPcEG+iWoxZtXGyCRQZ8OKQjN0BtWWVSidghU1pmyiU3Jw+KDGI+2uHB8YrqjNsyV6Tr3+stq6d02+8CbRWd9mlKSMK+mdTiH5K+64oIgSn7qmD55i4aDaY5Raj+9aFXwXwHPJE3UYsGTNwRGXTT1aLK9IZ5XLLwZx6XHcdg9sSsa9xy4fbUyhBeTOFN3qxx1JXeB0xueBDhCw0Q9fniGom9jL7K5BWO4HNVIpeysaDUoOdOxfjuMBqGsWdCkNfvFUu6AP3N0JmBsTDEjsOC2N18A1j2aZYyl/2k+O+vKaScRytvE3c3vwY5KZ7x6CXvD0vOz6iUfvUk+yhYwUqXF2SOUd2H1cQclL6I6VaAdVO4v1FULoT6sNOko/JbcKBiGAy2MxIu+xzfZ+W7FsI4I9IlUkHEkmloauNg2ZuXJy//re3RC47t25QYToIr8KSixteJwUy+qqCEFwl4JrVHgZRZhUZmt9AO/rDigLsyru1WcMVsKga7JiNmM55zbN50hddUVSWzVLPobPeHjSBH2Ud/NqAfqe6IT+FJ/MCZF5e6ac0og6DZXH47B1i9EkV+m33K9fSAaABKl9w6DRjeTSp2kNao3XeEzs7YlKveA3NvkRXXZQ9m8DcuTCfeSQnI92ydjL4NlgD1yYsD1PKiCIVHD3ko9fc03D6PB7lOVo8pp00UezcczbmRos2/ni5mNRbyi0H+/jCJSipnLpEpNTM73fFyLd5jne48afTBYeztMkkMjTG6e+svSMJTdVv96aAwhDXO6tKcyxZiPi7DsPlDsHYY6cngb08KU1AiBixwe+2C8leNRaMz2JpeJ5uVnECAS/rt91fSVBeAfvJrbfr+dCZv6v6FJrdeGCW/MrnQEgfk/IaceJXvVp YBdRPX7D HYeuorGa3ElJODnI7DJEwTGbADSJGSf2RrTccNqwjMmBislw+0duY0BMXmRWGzj9tqGRqF1dtKR8wDJdFzl0hcPttlLMf7OM8RiUFzYTSlRRFfKGqF5742erfSVkek5/o8bBBkeOVU2DbeF4O8SE0RZafZfnLzlSTUVtkYswj+3YJ03Zg4meOIkaei+HOgvS5z515DtCH6BJdMGHIbksG/s+qAwNBA9C4/vpSunqkQi6vghui4EDICWjoDBSk8Vo7xQXvR/+yW9lmFQv+dl5F0U5O8fzbLjSb7iCY X-Bogosity: Ham, tests=bogofilter, spamicity=0.003988, 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, Mar 21, 2025 at 12:52:30AM +0100, Marek Szyprowski wrote: > > Christoph's vision was to make a performance DMA API path that could > > be used to implement any scatterlist-like data structure very > > efficiently without having to teach the DMA API about all sorts of > > scatterlist-like things. > > Thanks for explaining one more motivation behind this patchset! Sure, no problem. To close the loop on the bigger picture here.. When you put the parts together: 1) dma_map_sg is the only API that is both performant and fully functional 2) scatterlist is a horrible leaky design and badly misued all over the place. When Logan added SG_DMA_BUS_ADDRESS it became quite clear that any significant changes to scatterlist are infeasible, or at least we'd break a huge number of untestable legacy drivers in the process. 3) We really want to do full featured performance DMA *without* a struct page. This requires changing scatterlist, inventing a new scatterlist v2 and DMA map for it, or this idea here of a flexible lower level DMA API entry point. Matthew has been talking about struct-pageless for a long time now from the block/mm direction using folio & memdesc and this is meeting his work from the other end of the stack by starting to build a way to do DMA on future struct pageless things. This is going to be huge multi-year project but small parts like this need to be solved and agreed to make progress. 4) In the immediate moment we still have problems in VFIO, RDMA, and DRM managing P2P transfers because dma_map_resource/page() don't properly work, and we don't have struct pages to use dma_map_sg(). Hacks around the DMA API have been in the kernel for a long time now, we want to see a properly architected solution. Jason