Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp37193323rwd; Tue, 11 Jul 2023 10:37:51 -0700 (PDT) X-Google-Smtp-Source: APBJJlG+9IKuRmlsKSXjlwYBilWBjZJPRxnNKgERGC01U+QkS1yN8440LVrQnkWFFddt65lXgqYi X-Received: by 2002:a5d:4581:0:b0:314:bdb:cf71 with SMTP id p1-20020a5d4581000000b003140bdbcf71mr19263099wrq.53.1689097071002; Tue, 11 Jul 2023 10:37:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689097070; cv=none; d=google.com; s=arc-20160816; b=w7pMS9vQBNp0JIXVM4M4hYkDboCyuPmy0yzN13grg0vxsSBfcuvcSa/7VNzZpSvNnX 489aKTZp6zArfMteABBh620vpTRD4HNOrI9UohBmYVDU2vtXpwovQweBBC1ks41bSuU+ o+ZfRf6012jC5pwLTfS2A/LFCwh8wQtYIotYSSVOnAvTPQlVBxYkQLS8QvKqZc10aTEA zoB7GTWdM85JK8X0Ufahm9hHZO9UWIl2NNpvWLDBMTwGeDXm5vdS8utYzyHJFJPD77+W oXF9+MKzZIXU2PoKBkrTB1X4zfcgRC3NQ4rF1g6Y2IhRJuvUQlHnl4qdboNqHTQOb5JV pBwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=vxEt0Z2eexi8Ljxbl6AxsjACGcp0PhbeI1Zbkig5Ea8=; fh=OU9J53rKhTmrYal6nnF6gu162uXb+A0Xw76jPsUeDpE=; b=Z/4SWUGbPQaGZvv8J938ej3YkkFoV9wRUeH/H2hU8v6BZCZr5RTKsOj97apqpHyAUA ASnUc65h2oBu2/OnBb8I0QvZO2G9aj8+N84K1LWsd6mOz2RBhbJKkwU00jlIO/Rr7o0e V0qVlCc9M2qIUNHxtWQvYnhQvHeoGh9kq58tUaLpju2lyg1/1NlGA5mrf5CSqDk0jhva Ck7bID80LwBM09b8No0SbnvhZHB9tHDdt1vQC9qzvI5F+xm8OqQICGbnwR3Jg1wJedML 1+ZsdB5V5Mf2CvQP/Zuk+cT1OCdFF81HkrsBCO2xOeHG+qYd8aN2CSWYCRFWLtJQWo+6 jSYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=2MNo9qcQ; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z26-20020a170906715a00b00988afd7e58asi2575646ejj.350.2023.07.11.10.37.32; Tue, 11 Jul 2023 10:37:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=2MNo9qcQ; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230200AbjGKRZZ (ORCPT + 60 others); Tue, 11 Jul 2023 13:25:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38708 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232913AbjGKRYq (ORCPT ); Tue, 11 Jul 2023 13:24:46 -0400 Received: from mail-vs1-xe2c.google.com (mail-vs1-xe2c.google.com [IPv6:2607:f8b0:4864:20::e2c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7C995173A for ; Tue, 11 Jul 2023 10:24:24 -0700 (PDT) Received: by mail-vs1-xe2c.google.com with SMTP id ada2fe7eead31-443571eda4dso1810749137.2 for ; Tue, 11 Jul 2023 10:24:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1689096263; x=1691688263; 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=vxEt0Z2eexi8Ljxbl6AxsjACGcp0PhbeI1Zbkig5Ea8=; b=2MNo9qcQE70ijvOMfhfeCr5b57NMCaHmxyfLaple5c0ON72I6Fl6KkCpEF2ZUAP6Ja V0z2dG+x+IsgZmudM/8wwO3HeFqajJZZHGPKbEt6SALfCu+Pjnxdii+e3bsqiFj2E3my Y/ErVdBmKyVEkX5L9MQap9ZPz0HWB43sGOmSZ/vOEk0haEGCaJ4BXm0i68AOESbjIK// yHeVhjhPwmEJgs7OzM7NHltcgWysktGwYwz4yjqmTJOBKT8q9CDeeMZvsmkc/oZsH0tp 3B2iJT8PUjxWK3Udzzlf3cKSa9yNqS4nY+xFqcPU5ISJors0n4DWQZ0X9dxbx9KCcKzN SXWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689096263; x=1691688263; 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=vxEt0Z2eexi8Ljxbl6AxsjACGcp0PhbeI1Zbkig5Ea8=; b=gk1V9cKUt4rQthfF55DIX46ozt8NNt2qn205AEbKhKhczY+nGJtYNoLzx8B1pfl8Bg woI+VeC4/oqRYMh0NxJBT1Squfo7CF+8w4OS7AZuUyCx26+TOjIEg4Uk9H+TGyRPuAAS jyvkZQOW1+2mTm3um8vu3gHOOAG/S36pXgHyUWyNRm8f3YDVHP7qgvkDQCCL1wUpzyRm vb1B4rkfoFc9HFY9TXyOWjQxMSo2I9E7TIZp/x7NOW7yVOST/1pITWGp+v6w8+2etHLq mRvwJvhdpK4xmLy4A5ptcGEexmqpYkF8opiZiZkREVtmEjDnnczD/yMIa6BNig+aZHtP n53w== X-Gm-Message-State: ABy/qLaccJt/IoYe9o4CfAm/NK+nVp7+iNAAJRWkIo/GHmzmG8k5gyWX do59pw1vQa7ICHucpQhLYWQEhRFNJKCH3sjmqpYs4w== X-Received: by 2002:a67:fd59:0:b0:440:cfc5:f91a with SMTP id g25-20020a67fd59000000b00440cfc5f91amr8676055vsr.29.1689096263370; Tue, 11 Jul 2023 10:24:23 -0700 (PDT) MIME-Version: 1.0 References: <20230619110705.106ec599@kernel.org> <5e0ac5bb-2cfa-3b58-9503-1e161f3c9bd5@kernel.org> In-Reply-To: From: Mina Almasry Date: Tue, 11 Jul 2023 10:24:11 -0700 Message-ID: Subject: Re: Memory providers multiplexing (Was: [PATCH net-next v4 4/5] page_pool: remove PP_FLAG_PAGE_FRAG flag) To: Jason Gunthorpe , Bjorn Helgaas , logang@deltatee.com Cc: Christoph Hellwig , John Hubbard , Dan Williams , David Ahern , Jakub Kicinski , Jesper Dangaard Brouer , brouer@redhat.com, Alexander Duyck , Yunsheng Lin , davem@davemloft.net, pabeni@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Lorenzo Bianconi , Yisen Zhuang , Salil Mehta , Eric Dumazet , Sunil Goutham , Geetha sowjanya , Subbaraya Sundeep , hariprasad , Saeed Mahameed , Leon Romanovsky , Felix Fietkau , Ryder Lee , Shayne Chen , Sean Wang , Kalle Valo , Matthias Brugger , AngeloGioacchino Del Regno , Jesper Dangaard Brouer , Ilias Apalodimas , linux-rdma@vger.kernel.org, linux-wireless@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Jonathan Lemon Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Tue, Jul 11, 2023 at 6:11=E2=80=AFAM Jason Gunthorpe wrot= e: > > On Mon, Jul 10, 2023 at 05:45:05PM -0700, Mina Almasry wrote: > > > > At least from my position I want to see MEMORY_DEVICE_PCI_P2PDMA used > > > to represent P2P memory. > > > > Would using p2pdma API instead of dmabuf be an acceptable direction? > > "p2pdma API" is really just using MEMORY_DEVICE_PCI_P2PDMA and > teaching the pagepool how to work with ZONE_DEVICE pages. > Yes, that's what I have in mind. Roughly something along the lines where the device memory provider (GPU or what not) does something like a pci_p2pdma_add_resource(), and the NIC client driver allocates the pages from the resource, and if is_pci_p2pdma_page() use pci_p2pdma_map_sg() instead of dma_map_sg() and whatnot. > I suspect this will clash badly with Matthew's work here: > > https://lore.kernel.org/all/20230111042214.907030-1-willy@infradead.org/ > > As from a mm side we haven't ever considered that ZONE_DEVICE and > "netmem" can be composed together. The entire point of netmem like > stuff is that the allocator hands over the majority of struct page to > the allocatee, and ZONE_DEVICE can't work like that. > > However, assuming that can be solved in some agreeable way then it > would be OK to go down this path. > I think there is potential to solve this in an agreeable way. We may be able to get netmem ZONE_DEVICE pages using the memdesc idea you proposed, or something like the xarray meta data you mention below. If not that, I think Jakub already said that he is considering coming up with a 'page pool like' API that drivers can use, with an implementation that is compatible with ZONE_DEVICE pages. > But, I feel like this is just overall too hard a direction from the mm > perspective. > > I don't know anything about page pool, but the main sticking point is > its reliance on struct page. If it can find another way to locate its > meta data (eg an xarray), at least for some cases, it would make > things alot easier. > --=20 Thanks, Mina