Received: by 2002:ab2:f03:0:b0:1ef:ffd0:ce49 with SMTP id i3csp31379lqf; Tue, 26 Mar 2024 13:20:01 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUBpLRLFej3IvkhnFqkQNnD9B50aN9Ujmwz5V4YtKjoS8MRxZbjSmIw6VVN114q146BFxccSFlWJvh50JuAC1nlV9w7uaFPJYcrp2WZEw== X-Google-Smtp-Source: AGHT+IEEH4/tF8nSLvgKs2dTRoxfuGbVvh7X7jl8ECJdRP9nqoA4724ezD6QqKzwcOpEb7RT2JKd X-Received: by 2002:ad4:5bcd:0:b0:696:a490:a94f with SMTP id t13-20020ad45bcd000000b00696a490a94fmr2868489qvt.30.1711484401569; Tue, 26 Mar 2024 13:20:01 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711484401; cv=pass; d=google.com; s=arc-20160816; b=tOuJ240QjquW9NtTViROHrLbqFwWLaRisOIXT5Fgb2ZagRfwOzEuVcSxBMoujfKygn 6eW60kiY6WIA9dS6DhGaiDrgZNjDi4m6os0zxFoTyBq9Cft/n75XMXpfvxkbsEGAhLC3 bJH/LJBG3SAGFusWI5L2n0FsoORK/jsVZpaW5U0MtmFkjFx/c81MGoQ4wWR0ixwQuie8 Jm413tCCgYwrM3JoYDUc37sVkXCSw8pWuQD4MVLuH1i6DW625KuYxmnlDEdBKneRyQf9 lYh93Ck2h8UgENnY07AMtUZ8cYmREqPrAEWs/oDnRdWmlLMngzcoOn5L3YnCMoR1G35F kbDQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=/HolUtBGOSvO7vytyqHWVK1okzyRfH/uWmvtvWb27FA=; fh=byPZnLIpqt8CN95N03mU7YeYeawM4vk3fcB80Ex1jcg=; b=eJA334QK0AHIXiX1mx37r4+0T/OdLQWUbT9AK6a5Cg+vUcQ8wmoD0q48/0Wz3p13NP j1bu1iSgOjkFJNkISzNdic137Gff6ytF7ghIrQ9TxqsHiSkGIdhQbMMtMnE9bhjJGKXs Zu70HtM1NFRLiiI3DwK1jWdGd/lMw2GTB9kB38h74UfY/RdtUU1PlbE17XK/MjU0A9Yw 0pwLBv8/KFiuoOzfEE6G8EQuS8kr1ZgJwPBOOeRqsduN/d2FO66waErwRl9IerjXUKhe kSBhf7Xiq0anI4XYHHCjgJhV9YdVIYom3BPMSc0RTiMsE0qAid64O4edQaXSf6bavJVu 4WJw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=1gm41FVZ; arc=pass (i=1 spf=pass spfdomain=google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-119882-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-119882-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id o5-20020ad45c85000000b0069691a54db9si4852845qvh.595.2024.03.26.13.20.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Mar 2024 13:20:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-119882-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=1gm41FVZ; arc=pass (i=1 spf=pass spfdomain=google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-119882-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-119882-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 415291C65AFD for ; Tue, 26 Mar 2024 20:20:01 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4F29613D61F; Tue, 26 Mar 2024 20:19:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="1gm41FVZ" Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A10F13D2A3 for ; Tue, 26 Mar 2024 20:19:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711484377; cv=none; b=nD37hJlEl5iiX1OKmSJ95FHOOET/rb7v9bjPrkhY8eZ0VAd+xQKkmt75BItU6nVQSYKeDScN8YQSFOcsbmXeS3NX/PRBIxAYh+N963XKYa1NpEBLp1qq3NKWcnImbr9t+M9KF75a+5rxpG8vCNZHk7+pikgWedr+15DyaIetYV0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711484377; c=relaxed/simple; bh=/HolUtBGOSvO7vytyqHWVK1okzyRfH/uWmvtvWb27FA=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=VkpydVnmN0rU9Kv6NBAqSaOTly2U70IQmsEC+so+dhFwj2vPSCL9yEACN3sGwXVE6ivtGHcSb4972moCS8EdW8oyz6LXTrgktd7prrMo5F3JBhCakRNcExjKQIPFYRaEmEB3IMt0VBMAhsdY4WiBUPtS3jrkC/edYMbDi0JjwcU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=1gm41FVZ; arc=none smtp.client-ip=209.85.208.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-5684db9147dso7009471a12.2 for ; Tue, 26 Mar 2024 13:19:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1711484373; x=1712089173; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=/HolUtBGOSvO7vytyqHWVK1okzyRfH/uWmvtvWb27FA=; b=1gm41FVZkSn4Ai7WlX1D0mAvsiIhXcNKLG0Z0iVMbEyuhSc6lAFnYsQce/3uLx2VOQ F13pVTO9dMRWzS/d7sfOBXIkS3ngp/9f5y9jWOoAa6189WcyF2NonArWAQ719WFAi114 zU2eBR/j4Sp8dRmx3JNiO0l7Z06mGs29qV6F7W7oAwBVZ4wOXL0SG4oZfOKMR4pofar8 GukfmgjQtDxSyZ4EeIfkAX4mF4CDBv3LOIhV1e4bHqCsqkAZkHkXbxpNT7BTyqBDSwo0 t6V0x1PQN7YCjKQ72LzuDlwkJ2sQ1fUKugFapN4Dt5u28GWEdnMNP+fAmqirbn6HeFth mCEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711484373; x=1712089173; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/HolUtBGOSvO7vytyqHWVK1okzyRfH/uWmvtvWb27FA=; b=JnetWfWS132Rb8sfpmRC9MM7b0sodFEvFOemXlgzc/Y/OAczXvIW2clGkqW7EM6bbe awcsjqITGnYxTnAdnsDKNm5xCt+hM6qUKzVfgtKNuJJfYp2bkfUALZGlO6Z4cjnFHBRG yRXm8BTpCddOPnxP/jzh802R0rpqthqV5IYJowRYLGaY644TzQrP/NxOfm1wNBGNpSnf f6nrgLIlYDCy/yDv1glMGb9JbF8Y3GagaMUDkQLekUHnAxCyqcXCiCIoyBOCxBRxNHoO nfmM4qn/Kd6qlbU5gIdmNB0z1suLn25BOtqMis8e4fxs0FCrmFux/ng5PvIIna4Z3s33 cj5g== X-Forwarded-Encrypted: i=1; AJvYcCUvscNcJOJAcfdP1ltiepItJU/qWXFi1REy+gGUUK6I652d2Q9za3cVch5rDGM4gq4NxKg30g/0BWMnwU8Vf/Tu122jwsUG5wVmniaZ X-Gm-Message-State: AOJu0Yw4GCu/dyLvmEaEuGcOzKfduSQu39O26r7pUaCDTfg/kRKz3+/Y fj7x9HeF9opFEoF+/4sAcIGqbOR5nWXU3tIubzYX7zq96AyAX/BO8YQ+HDw554h7rIp3sIt0p8N /46UJjuE4btZ0gGkt2LU4LWrcv7RKCBT2Z5AAKqhmMTxIZwZufTaS X-Received: by 2002:a17:906:2dc9:b0:a46:70d1:dda6 with SMTP id h9-20020a1709062dc900b00a4670d1dda6mr1426517eji.28.1711484372999; Tue, 26 Mar 2024 13:19:32 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240305020153.2787423-1-almasrymina@google.com> <20240305020153.2787423-3-almasrymina@google.com> In-Reply-To: From: Mina Almasry Date: Tue, 26 Mar 2024 13:19:20 -0700 Message-ID: Subject: Re: [RFC PATCH net-next v6 02/15] net: page_pool: create hooks for custom page providers To: Christoph Hellwig , shakeel.butt@linux.dev Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-alpha@vger.kernel.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-arch@vger.kernel.org, bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Jonathan Corbet , Richard Henderson , Ivan Kokshaysky , Matt Turner , Thomas Bogendoerfer , "James E.J. Bottomley" , Helge Deller , Andreas Larsson , Jesper Dangaard Brouer , Ilias Apalodimas , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Arnd Bergmann , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , David Ahern , Willem de Bruijn , Shuah Khan , Sumit Semwal , =?UTF-8?Q?Christian_K=C3=B6nig?= , Pavel Begunkov , David Wei , Jason Gunthorpe , Yunsheng Lin , Shailend Chand , Harshitha Ramamurthy , Jeroen de Borst , Praveen Kaligineedi Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Mar 24, 2024 at 4:37=E2=80=AFPM Christoph Hellwig wrote: > > On Fri, Mar 22, 2024 at 10:54:54AM -0700, Mina Almasry wrote: > > Sorry I don't mean to argue but as David mentioned, there are some > > plans in the works and ones not in the works to extend this to other > > memory types. David mentioned io_uring & Jakub's huge page use cases > > which may want to re-use this design. I have an additional one in > > mind, which is extending devmem TCP for storage devices. Currently > > storage devices do not support dmabuf and my understanding is that > > it's very hard to do so, and NVMe uses pci_p2pdma instead. I wonder if > > it's possible to extend devmem TCP in the future to support pci_p2pdma > > to support nvme devices in the future. > > The block layer needs to suppotr dmabuf for this kind of I/O. > Any special netdev to block side channel will be NAKed before you can > even send it out. Thanks, a few questions if you have time to help me understand the potential of extending this to storage devices. Are you envisioning that dmabuf support would be added to the block layer (which I understand is part of the VFS and not driver specific), or as part of the specific storage driver (like nvme for example)? If we can add dmabuf support to the block layer itself that sounds awesome. We may then be able to do devmem TCP on all/most storage devices without having to modify each individual driver. In your estimation, is adding dmabuf support to the block layer something technically feasible & acceptable upstream? I notice you suggested it so I'm guessing yes to both, but I thought I'd confirm. Worthy of note this is all pertaining to potential follow up use cases, nothing in this particular proposal is trying to do any of this yet. --=20 Thanks, Mina