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 2786FD37495 for ; Thu, 17 Oct 2024 13:46:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B14276B0099; Thu, 17 Oct 2024 09:46:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AC36A6B009A; Thu, 17 Oct 2024 09:46:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9646F6B009B; Thu, 17 Oct 2024 09:46:48 -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 734906B0099 for ; Thu, 17 Oct 2024 09:46:48 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 071C9A0F67 for ; Thu, 17 Oct 2024 13:46:28 +0000 (UTC) X-FDA: 82683219444.05.C306C7A Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) by imf21.hostedemail.com (Postfix) with ESMTP id 4AA461C001F for ; Thu, 17 Oct 2024 13:46:27 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=lre5bp0h; dmarc=none; spf=pass (imf21.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.128.181 as permitted sender) smtp.mailfrom=jgg@ziepe.ca ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729172699; a=rsa-sha256; cv=none; b=8N+AFizBN4Ir78TX99/dehduHBmsL7h6FhtLSgHaQVuaVu9DpKVgS8I8n/QbZ95T/2gCbY YKwIV6econrBr3zqjhjGnMLkzKalkM1RJpL+Z6k5Pe+tCVwGqWbksaMBux88Ad1JaXm4g1 2L7t73lNvrBrvj4IGIBr2kx/aPc7KaM= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=lre5bp0h; dmarc=none; spf=pass (imf21.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.128.181 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=1729172699; 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=T0nQN0NCObfK5Vn1zgRw1TpjVIw9ZxydvJ5Q22r05Dw=; b=aYTw4Hx9CMfxIvgeU09Mfw2RHYHd3iGGs2PQX9n2G+wBmC6b+AU24t2iKLuZXc9fO3VfT3 y1P9tK8AXwZIpOaZfxE3Lua8YJvi+d56eFk0NIMOjTIF+JbPGyZV3zn73uc40KHenGiBLI eVjk/W4rS97SL4M9IilLoaPcQ+vKfG0= Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-6e5a15845easo9194777b3.0 for ; Thu, 17 Oct 2024 06:46:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1729172805; x=1729777605; 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=T0nQN0NCObfK5Vn1zgRw1TpjVIw9ZxydvJ5Q22r05Dw=; b=lre5bp0h/WVGHzCp9Jtp/+d0/1rFlX1yErzswiEUHQ658i32zC4m+yS0+OfVkUeGwy XM3LXnOM7ALo52qE6SwQmIwGes7OKh0hlcSc8wK+9Zwjo4vaDdmpmtUtz9EVPwPKCvJZ w1IckFiPj0rjwT++jBRrzns+ounzK8nRzzAiXDUGIelg14HFk3CjFI9wRGye9TwFdCJI 6b5umRPJJWspD1Skc/YbP2pCiwLgPuS4gyPD6N5r5DsPH7qLteKhpj+GiZaHzFjrEzTy 1xb6MCgKxqX9mekX7hvpaqQ4nON2y4hk8pmPyRvYAK3pb5PgTG1cVNqaNneYiIQImZxu JdNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729172805; x=1729777605; 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=T0nQN0NCObfK5Vn1zgRw1TpjVIw9ZxydvJ5Q22r05Dw=; b=XRrZ0KeWOESsatHBqq5htnBmflO3w3/p+GJzNkJdozpuRjpmSc78hpg8T6yGZzq8Mr Tkv4WHu4UM8tN35Jo+OSCz8yuw0Po/tb6eIewnJ0tic2a/TJAEJzrOsF8FeR3ohDflIh KwMOWuJPnVWPRn4tP+hevbNfJEU/aSqxwkbKKEUqShqqK/ooQ/npsBG6viG7i602l0yH zJQQ4urR1MYmx+lIHny//+R0GYVWENwTd+UWm2Vxk2i+xAjH6bqO7rhRqceoq5MyrMfW 5DZSKVuSyDx09gtUxaf/SJ71gmyTbe+b/I5TkTSqvMhpCdevc9YMMYk4jEuIXO/xVKfd RLZw== X-Forwarded-Encrypted: i=1; AJvYcCXg6NUvxavYapKGNDHaJQ977zs18PFmrsrN86DPB1sp7tG5BQX6V3LheBqUd08PVUkJQ4FqZiwHhA==@kvack.org X-Gm-Message-State: AOJu0YycoWuW412JEUtNF8QDn5NG2E/M/7PVqX6ei48n4kEfa07VV3iG UMVA+SHn3Ce4o0MJTQAPjcbO3eZSTSq2YXBwFBAAB8RFPQSBlkhEa5IfPfWOUTE= X-Google-Smtp-Source: AGHT+IGpgOmzimpqGZo+yKVQ9O8UZLb6Hva6cSsO+ZYcAVIT1sMFZwMiYnH2dMe9t9IABxyKBdXUOw== X-Received: by 2002:a05:690c:3586:b0:6e3:3521:88ff with SMTP id 00721157ae682-6e3641411f4mr162528807b3.18.1729172805398; Thu, 17 Oct 2024 06:46:45 -0700 (PDT) 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 6a1803df08f44-6cc229245f1sm28440036d6.57.2024.10.17.06.46.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Oct 2024 06:46:44 -0700 (PDT) Received: from jgg by wakko with local (Exim 4.95) (envelope-from ) id 1t1Qpw-00404r-FW; Thu, 17 Oct 2024 10:46:44 -0300 Date: Thu, 17 Oct 2024 10:46:44 -0300 From: Jason Gunthorpe To: Christoph Hellwig Cc: 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: <20241017134644.GA948948@ziepe.ca> References: <20241015152348.3055360-1-ymaman@nvidia.com> <20241015152348.3055360-2-ymaman@nvidia.com> <20241016154428.GD4020792@ziepe.ca> <20241016174445.GF4020792@ziepe.ca> <20241017130539.GA897978@ziepe.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 4AA461C001F X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: a7hs53qdths65ayugx3qj9dyngjxnoux X-HE-Tag: 1729172787-504026 X-HE-Meta: U2FsdGVkX18ILJuLArQyL6Ephoh+Tg4+PZssbccvqaguVMRKhBX7i8Avy0zyRmUUT/9LkmX0jhZkR8y+8wz/wrcBnTjuemS+aOYVPMDwIuoyJpimvD2z/IOzpYpguAOjotBBdjmEMSO63NSY/pEp+dsqb71eqfku38XnF1QltjtMB2ItMGQIaJkUgUUOXlbhFpgP4xS59g5j/AVBnpJgo5g7uMEtymunNR7eFiOk6+7a3dckruPtWnf6zLfzvKVGUi1Xud4ALGoRMmb+uggs0lqSQHdwsY/tSViD16XB1IBSD1/GPcurbgVxOZ6WuCklHwnEnRXfoXEb/Sd7lQExJzCW8TIDrjbo76uO4jxzyUfn2LAVQLtrh0FptDcMH1FDWYhhO908o4GZG1yxSr4wkFukdii/11eKzyljMONE8bYguDcXz4J690pwaazrmcOLX/T+8guOkB48gncjF2TJ/iZdposJL2+JlhO9Tk/mb3YwDhCgKhGUXV+dYqp9zHoCQSCXWPoz9ZYjjxdTdYRsFjtqBuElDH99waEE1Ty1Tvv1zbPA2mUEPNx0KWSXN+5PK04UzXs8nWOKd6rpGawsvAam3UyZp/eUio7oe141sVh5ToMRWhjBWcIJqDt1uwREkaASRzy98So04Cte9JDoMBsp39sws+xRoGJ9DiX3WOVHTfgITgYN6eKTIRj4K77ejDo1t+qHfO1j1IHgccNy0hOIomMZT1kp5JwRobv+iiqmmAtw7OqccAQ4IB04zjdnwnOL+mEPsx+ymbN+Ed7D/kolWECgdmmN1nCoiXEEH4xRAkMSGNsb3pnWELLxL04trQm/XooDhKmOtrtXyrc7qn+Gh8qyo7sjs6K8MHo4V+6giqipSkEDSLmXM+lekDOg0vLEoo+F/f4ROC4ST6VZuiSBjSfQN0MpEkWXVwSF/H8T0/QpDQqkouya1YlY2PmwT39ZHKd4gEjz2IdUz5e svsutO/A qgfIbXYsHipaGqO1G/o9i4Mmt7ysOXu2obJw6q4ojPYgZjVonzQKo4MyTQO3namuzjQUG89+1rgc4mR0e9XVTS9VvrDeWafXJcahsMVBTnB526XrYqzGV67TLdYhitKixCGi6ZIZTfl942jByXhpFj0UwZ5iY5PLnef+NewNtQYpfNVLh4ADh09TDeScWENqEhBm2aXBzusSgouWMNXqNpNwTrMEq9tDVZjWELEa6+XXN82z/N9qZLSoecYyCA2mAvJeUafYAItV5mz9h+nSJb0nG3hJwXOIs1Gu01ZjJ5BFckpIAWTF6reC8Sw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.021044, 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, Oct 17, 2024 at 06:12:55AM -0700, Christoph Hellwig wrote: > On Thu, Oct 17, 2024 at 10:05:39AM -0300, Jason Gunthorpe wrote: > > Broadly I think whatever flow NVMe uses for P2P will apply to ODP as > > well. > > ODP is a lot simpler than NVMe for P2P actually :( What is your thinking there? I'm looking at the latest patches and I would expect dma_iova_init() to accept a phys so it can call pci_p2pdma_map_type() once for the whole transaction. It is a slow operation. Based on the result of pci_p2pdma_map_type() it would have to take one of three paths: direct, iommu, or acs/switch. It feels like dma_map_page() should become a new function that takes in the state and then it can do direct or acs based on the type held in the state. ODP would have to refresh the state for each page, but could follow the same code structure. Jason