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 DB7F9C3DA4A for ; Thu, 11 Jul 2024 23:21:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 272396B007B; Thu, 11 Jul 2024 19:21:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 221F66B0083; Thu, 11 Jul 2024 19:21:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C3546B0089; Thu, 11 Jul 2024 19:21:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id E10D06B007B for ; Thu, 11 Jul 2024 19:21:50 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 5EBC6C0248 for ; Thu, 11 Jul 2024 23:21:50 +0000 (UTC) X-FDA: 82329046380.15.2886B12 Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) by imf25.hostedemail.com (Postfix) with ESMTP id 6A30CA0002 for ; Thu, 11 Jul 2024 23:21:48 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=gAkfRwa3; spf=pass (imf25.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.160.177 as permitted sender) smtp.mailfrom=jgg@ziepe.ca; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720740091; a=rsa-sha256; cv=none; b=dJhq2CobzhKTdO4+/lHL6Y/beRIoqj7JxqGBVPaabzcqg5kWKgKGwiMpXMZ7Y773O04k+F kX9yKyGPz+7lNpF2Sm+uZ4tRwYH9FW2el95iM69nzP2hJbBBi6R2jBaBvTSyDcc4CSbQAM p+a5S6bc+HAnGzmTHCSuliyYSxkOjIc= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=gAkfRwa3; spf=pass (imf25.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.160.177 as permitted sender) smtp.mailfrom=jgg@ziepe.ca; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720740091; 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=iA5EkoKdOMHWMqTqv30k2JtFjPGSRguy2LMuZP+mDPQ=; b=D6Nap9ZE/7VjDCIeEsnbO0qE1UIjdB7uUsuA0inmvCseg67uhRbgBRA+NtO55/9yUof/Fg W2m/dE4AjGHRW65886WphjCz1OKW3Iy9cEWuZXhm6Vn5zGWXlKeY0ffSsLdjXhIvX8YEL8 pegR17RLJ6WHIdKfi9JlTvbe14pm2OI= Received: by mail-qt1-f177.google.com with SMTP id d75a77b69052e-447f2f5891cso7591781cf.2 for ; Thu, 11 Jul 2024 16:21:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1720740107; x=1721344907; 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=iA5EkoKdOMHWMqTqv30k2JtFjPGSRguy2LMuZP+mDPQ=; b=gAkfRwa3ic+dgfszxBKkpVBHBvg/uTmMKQOnc/0AolZQUl6JM5LVGF5uMyyDFij1cg 92jNIgVRk0gVHySZLrjdKFRjBkq9dJkXjIhNedoUYCAyOh3LpYz7RhBwlXGXuTZ/v6Z2 VATdSDFDGrla97Xk4z+0aZTrS8Y2MvNjYw1SROF7Iyzm+S3VHMRuapWheHalV7lybhU7 CniN3G7NsoJV7A71miwgz84PzaWRCB3fxQwkjLtEezMtYNPPcVq8OHhQ3nTEOlIk57bX FuofbiDtRvJJvu4IJWT40PuI2eqwN9oQ2SBfCMGCgM2nvkDxCmhB8PuALNDkmdrlW4s8 bRpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720740107; x=1721344907; 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=iA5EkoKdOMHWMqTqv30k2JtFjPGSRguy2LMuZP+mDPQ=; b=HYy0tKHr1rALOndKuGKXJY3to89PdirzaE4uJsAZu0/p/wodAFBOqI9zRzKh4K1pEh 37AMpVL6BwrpqyMWA+H8c6ZSf2bu1J0dNRaKXqW4RSUE3wlkmJ8Uw+JvT2LF3lbH0cRy Y3fjLCz9RXVTX8/9TC0A41/27V5Do+xOXjPiwJwDL2fgpbCTQH2ihJlnegVu/6Zfbxoq caaOXOh5OLkoiJgf7QV4aetemJMmOBL8XheNsDcWSxlnDoYYYOONA9XyFPj3itBkH7V0 TlWE46vlIAPDvCBt3E/QgsSzQbsSB8mNzpAWyePXgM5JgxsfH2Nq9ucDCSB1dHlgmXRr q6bg== X-Forwarded-Encrypted: i=1; AJvYcCUQrOAtyx4yPgd8vWstI4OAAuIMG9ljnnlfakNc3lesB0/RtiTiER6mj+NSbQ+z6q/Hf/UbUgz3FCVc5AYRY2XpFDY= X-Gm-Message-State: AOJu0YwG2Y/nUqaarqBpol42XW7DmIuN3vgON06EW2Eqj9aPNPFEkynX 1Chlb/eJ1y8hurd8x71i7KMh5VldmzX0t3NaqBIXHEa8cyAQDUpmW2xvMaS1i1o= X-Google-Smtp-Source: AGHT+IE3EReOFfP9Gp9yOBbEQdd9ZoxHQTHmzRvm3onKx9Jai/yPhMccTCjhIICDfGTUxTuCo6A+VA== X-Received: by 2002:a05:6214:1c83:b0:6b0:6a57:c982 with SMTP id 6a1803df08f44-6b61bcff6edmr121290886d6.28.1720740107241; Thu, 11 Jul 2024 16:21:47 -0700 (PDT) Received: from ziepe.ca ([128.77.69.90]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6b61ba7a437sm29827036d6.85.2024.07.11.16.21.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jul 2024 16:21:46 -0700 (PDT) Received: from jgg by wakko with local (Exim 4.95) (envelope-from ) id 1sS36e-00FPgi-P3; Thu, 11 Jul 2024 20:21:44 -0300 Date: Thu, 11 Jul 2024 20:21:44 -0300 From: Jason Gunthorpe To: Christoph Hellwig Cc: Leon Romanovsky , Jens Axboe , Robin Murphy , Joerg Roedel , Will Deacon , Keith Busch , "Zeng, Oak" , Chaitanya Kulkarni , Sagi Grimberg , Bjorn Helgaas , Logan Gunthorpe , Yishai Hadas , Shameer Kolothum , Kevin Tian , Alex Williamson , Marek Szyprowski , =?utf-8?B?SsOpcsO0bWU=?= Glisse , Andrew Morton , linux-block@vger.kernel.org, linux-kernel@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 Subject: Re: [RFC PATCH v1 00/18] Provide a new two step DMA API mapping API Message-ID: <20240711232144.GQ14050@ziepe.ca> References: <20240703054238.GA25366@lst.de> <20240703105253.GA95824@unreal> <20240703143530.GA30857@lst.de> <20240703155114.GB95824@unreal> <20240704074855.GA26913@lst.de> <20240708165238.GE14050@ziepe.ca> <20240709061721.GA16180@lst.de> <20240709185315.GM14050@ziepe.ca> <20240710062704.GA25953@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240710062704.GA25953@lst.de> X-Stat-Signature: 4wa4ndobse64bessy4hmqw3yg71pezry X-Rspamd-Queue-Id: 6A30CA0002 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1720740108-978524 X-HE-Meta: U2FsdGVkX1+5e4mUrAeCl0+WsP44X8JsG1fArOCLuxTfm2gxMAO9ps6QEe0uF6VtR1SyksXt0SEJOtK7zzhYICFXn1qMZKBemZ3F4sAalnJa7nQovt52UEenXFbTvU8IJJrdoBJJ8S3yDdX7Kl5G0DsKPb4++FH9eQvqx0mf3lK3gqn04WNr37vkz/E6ae+1scU6oBmZBqBQfjDX1FRTwW5wYIHey79RjkUiEen/NqsI801SYdjBNzfwdjKOiVB+dBdzPlF4CIKANHNPN8h/JGPwnisbNuPO3Orp89fjKJyDyXV6n7P7DI0dkMiX3fc7cxgq5LfDfV+Bxw6ULbDWu3OVG07jc9wNBng4NeZTEHjqFgbkzpNJ2RSm3LTKlaniBJfpJ869opxjxszUmo5D9AtOvlJG6aFcLNjjRt8FSDMop2WFdYBY3RzzIuJVKQEV3Z0+nqn42WPjwwpC99rz8kXQV/xnELa7X3g7t/FQ6y7uOT6TLYbP1hoG9WRgX9gVxGLppyCK1irU+VI7w3EiHT7FvyHTxWiTogrZDAOLsgqGFnA7jEhb/4VIYhH+W9NtlQadgQxYwBDgQewaLNXuZQZaInLX9l9Q84hx0oHmYm1NGf/Y7BiapJIPOGGGhFpIccHRiDk18gY7FpNmNsKWYiJE8vMh/GfPRXz+WZcwqKaz8NdvU6NYpD77JV02igIIqFe02fa/J7XTCdGtPwsW27atQ0/ZV2e/IZWk0zBYahRtIDNFwapFXI/ckossBKf1JuATFBV7vSLe2ZOjhVWHg/zlATlc1/fPv1UZxk7CF2a2G9SFYfM6LQDku52UneFCjZUbwVg7k1OasmpknuTYhU2mVsaM+STQVK0QYZb9H+/tokE1R9JxFCgL1LfDyscO1dktoL5akhZF72+iss4QlSHTCaDfP6zfSfHKH3ZdpreqjeOiPBAtMITlTep4GIEoTOaqhcZ3Y6iS/1b33Kw IB7i4w0b P4mpyCyLD7/HVSQ3ALdKhidApLsq/J9a3rf3c9dNvTfgTrmNdXL0i0gbk26m1Nq2dse9SD43J9v2J6+PUl1wSN+dU/4UbSa+/Ny1gQAKWi4g9OcohRSMOL0Cd1y1DyCwEqtRgU7qHKLSAfXrwNi4FjfKeFpKI+R+flL5N9xDd1ODHxO41AKKLdrP0ntOjZTH/J/FsF/XjN9i6W8NNi3aR6ey7NZLnFFfoz3zVj+bLkQqZyton9LB+aIdYxbkVPmAdYc4CBZ1TqMvM7CM= 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, Jul 10, 2024 at 08:27:04AM +0200, Christoph Hellwig wrote: > On Tue, Jul 09, 2024 at 03:53:15PM -0300, Jason Gunthorpe wrote: > > > That whole thing of course opens the question if we want a pure > > > in-memory version of the dma_addr_t/len tuple. IMHO that is the best > > > way to migrate and allows to share code easily. We can look into ways > > > to avoiding that more for drivers that care, but most drivers are > > > probably best serve with it to keep the code simple and make the > > > conversion easier. > > > > My feeling has been that this RFC is the low level interface and we > > can bring our own data structure on top. > > > > It would probably make sense to build a scatterlist v2 on top of this > > that has an in-memory dma_addr_t/len list close to today > > Yes, the usage of the dma_vec would be in a higher layer. But I'd > really like to see it from the beginning. Well, lets start with agreeing on this layer's API and be confident it can succeed. Then I'd say to look at RDMA as it is a logical place to build such a data structure and we can build something that at least does what RDMA needs. I need something anyhow to plumb through to DMABUF and over to iommufd and VFIO, can't skip out on it :) > Yes, I don't think the dma_vec should be the low-level interface. > I think a low-level interface based on physical address is the right > one. I'll see what I can do to move the single segment map interface > to be physical address based instead of page based so that we can > unify them. Yeah, I've been talking to Matthew explaining that starting at the DMA API makes the most sense and lets remove mandatory struct page entanglements there. Then we can start to examine other layers. Having a consistent option in the DMA API to be physically based with a memory type fits with that plan. Jason