Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp37392093rwd; Tue, 11 Jul 2023 13:40:47 -0700 (PDT) X-Google-Smtp-Source: APBJJlHMic0ESC3yMafqco+5ZdAHeyngqfM9qX1DeoxFHxA8NpYyP0OE6PXMxEzYxW2XTszLcb3h X-Received: by 2002:a05:6a00:c87:b0:681:ccc3:3cd9 with SMTP id a7-20020a056a000c8700b00681ccc33cd9mr16105387pfv.19.1689108047198; Tue, 11 Jul 2023 13:40:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689108047; cv=none; d=google.com; s=arc-20160816; b=OHSJwZ93NZKQFCYI0UA1PtJuObayZm6K5h/mhkth3jynSg8/AjW+cR/YiGsAXhxTNr hoNsYoHwFlaT497YfuzFJOVrFFGCdSVJe3Jeo6w349Qz/neXr403BMD3fRWJbkuqVja7 7nFZ23KHQ8U3keCj3PAX34W8PeG/yhaHvjs+7MdYg3plwNx113Uahw1CUZ6+1TW6ZRoW jPUGqfj+OepWII5p287cmZk6y/+rEfwn3wUBZ02FU1sVQ2gJXF8BeJ6fcXBdD5FiSnQ7 Ih0vkjpgfdhNBsIF+ebaMkletgf8Pkmn0yIofTihFw5+b7IGsm/TszhfGPCtWCkSZGed iM5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=UNb8NPBtYHuHnoDaXdCk+Dx3mVQbpZfxIP6gpyRMqxU=; fh=LPTzxsGwze45ujpNwviqcm1R0e8++kC/g34Kzh+wgG4=; b=xOR/FqIYy4PbikKMTSii9lIBxBZlXMseSoe/+q+vAlHsbSm61u7ZKqXtsD1q7dTayh hq/Gt1b4cQFKReNnoj9pAkAQJoTuPwJOGaUMSVx4Js53i1djV9GViUxPgawyjM66dAMH GKcq75Az10dijc3IzI07RplcNG7qc5v3yyIGpg5QhHu3RFmDvwbWhitAy4ZRyJEWfBPC qICUnbFDmBALmTqIZulNj39SKqZOk/f9w2Kt2NyswH/8Ixtr6UVE8SLIb2xuJRzpC54U 6HwHd2KeNmo5XlIHDlCg9aRYZyxlBobLEf3tVUbAC3fr5gDsualqPcc9oO6gz89fUB2T BxYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gLHjwznd; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s10-20020a056a00194a00b0068224c12950si2003079pfk.64.2023.07.11.13.40.38; Tue, 11 Jul 2023 13:40:47 -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=@kernel.org header.s=k20201202 header.b=gLHjwznd; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230058AbjGKUjV (ORCPT + 60 others); Tue, 11 Jul 2023 16:39:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229945AbjGKUjU (ORCPT ); Tue, 11 Jul 2023 16:39:20 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B01771AE; Tue, 11 Jul 2023 13:39:18 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 45E69615D4; Tue, 11 Jul 2023 20:39:18 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 67C0FC433C8; Tue, 11 Jul 2023 20:39:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689107957; bh=IUkMami0q8XF0yGB572r+2o8IYCDeaMrkBy4BDhJ9Ag=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=gLHjwzndBZxh0m1Nwmqy8nrX9bXH8Vnv5+ZxrOfGDXN7jd40Msiv1J1bZGLXIH5z2 oJus6+FV8hP/WWNUuLuXoDk6kzGjM/xqn2z5cs0lsl0vJoXcsLz6mxPfoPzzyXOJk2 ORK7ZgszHiFGEYqHl5+9he/2D0jMNPJYBIXp5AuznXtKSF5+HOhzHJhAbxtRHoVsWv QLF/dB+6GNTaQCV8o+aXrkly/dblANoUCP5yjOBckkEnDQh7KBZVIma1e2/6qhRLSB INnioJnYNn4NmBgc4I1Wl8idrPvVBzvQ44p1B7prACsfxGgObO+QDbc+AaVYi/PQP3 aNkSejK68rzag== Date: Tue, 11 Jul 2023 13:39:15 -0700 From: Jakub Kicinski To: Mina Almasry Cc: David Ahern , Jason Gunthorpe , Christoph Hellwig , John Hubbard , Dan Williams , 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 Subject: Re: Memory providers multiplexing (Was: [PATCH net-next v4 4/5] page_pool: remove PP_FLAG_PAGE_FRAG flag) Message-ID: <20230711133915.03482fdc@kernel.org> In-Reply-To: References: <5e0ac5bb-2cfa-3b58-9503-1e161f3c9bd5@kernel.org> <20230711042708.GA18658@lst.de> <20230710215906.49514550@kernel.org> <20230711050445.GA19323@lst.de> <20230711090047.37d7fe06@kernel.org> <04187826-8dad-d17b-2469-2837bafd3cd5@kernel.org> <20230711093224.1bf30ed5@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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, 11 Jul 2023 10:06:28 -0700 Mina Almasry wrote: > > > Any reason not to allow an alternative representation for skb frags than > > > struct page? > > > > I don't think there's a hard technical reason. We can make it work. > > I also think we can switch the representation for skb frags to > something else. However - please do correct me if I'm wrong - I don't > think that is sufficient for device memory TCP. My understanding is > that we also need to modify any NIC drivers that want to use device > memory TCP to understand a new memory type, and the page pool as well > if that's involved. I think in particular modifying the memory type in > all the NIC drivers that want to do device memory TCP is difficult. Do > you think this is feasible? That's why I was thinking about adding an abstraction between the page pool and the driver. Instead of feeding driver pages a new abstraction could feed the driver just an identifier and a PA. Whether we want to support fragmentation in that model or not would have to be decided. We can take pages from the page pool and feed them to drivers via such an API, but drivers need to stop expecting pages. That's for data buffers only, obviously. We can keep using pages and raw page pool for headers.