Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp3128611rwd; Fri, 16 Jun 2023 12:41:21 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ62vEO0PIGEqwibD4dUvacngyh30u2bP0GH2W+YK0ROo46RGfDnYRA9KohdF/nZOdCq67Rp X-Received: by 2002:a17:902:6e01:b0:1b5:1b8:479d with SMTP id u1-20020a1709026e0100b001b501b8479dmr2923385plk.48.1686944481216; Fri, 16 Jun 2023 12:41:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686944481; cv=none; d=google.com; s=arc-20160816; b=ZV3z6WFOtogIx/Y4qHLl/Dlm/cquE3RoHHGSNMWY51UpvOKV9jKUIsZFyZSermpHjF hiAJwVSgaoPYOGl3Vwfnm5S1+ONsux/SUzSP5usMAv6WvMaLs9YrlI/vVmN3LHgBA41v dmbYVpSEpW6mZr7WHXTUTJ0FrSwK4/Z5ziyYf+Nsnze3koACDzaGzs8t8PHKS7Y/uiPD FicdY5SexODTk2tpfVPzvKsYkcF1BJ2/r9YUA/qKBiataiyTxpasUNoW653POY4Sg1rT qIDIL0ozLXEx4ZBaK+MMbQQCoFImMsXRO5nVEtF0BU/MT6Z4CF3fdcXV3oDk5u9utByK /UBw== 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=cq2oMrg5RYNGgjbQaTyZUWUROD9h5/rad/ICJVxMn2E=; b=pcHae++ytSQE2e0O+10D7MBeGzZy0XnkA9o5al9GLsrsNIPjKdNtu0F/hAsgeAvGf+ DLOgfOst0fRV1Nt6trLcYJwWyv/5a0Nt5IGJoXJTWFhXDq68JOBInYArSzfTZeVpyB6m jzTRekxclrhrmHzd5gOOPImjTIhkbfUy48gGEKexXYKafI6Mm39jWZ7skHAC52zL3zHD yMNS4LVQ3gROB7QgvrbhAN9TAo89Mua1Lk94zusNgY6GokE2ouG0V8k79mqOaCB6T+aj cPjkyuFChy+8fMmEqprvaCvQsdNiMDmBNj8I1YSsivqpm2cCW4GBnghFzzmQ7FDRBXOC XD1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Ad6swJdW; 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 p15-20020a170902e74f00b001b3d1203160si10462876plf.650.2023.06.16.12.41.08; Fri, 16 Jun 2023 12:41:21 -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=Ad6swJdW; 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 S1344031AbjFPTZ7 (ORCPT + 61 others); Fri, 16 Jun 2023 15:25:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54460 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346138AbjFPTYo (ORCPT ); Fri, 16 Jun 2023 15:24:44 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5E1FB4222; Fri, 16 Jun 2023 12:22:47 -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 DA93362E38; Fri, 16 Jun 2023 19:21:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4D73FC433C0; Fri, 16 Jun 2023 19:21:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1686943302; bh=hUURytXlMcDfitAbduozrB5DyB72nWHC+HvK485KkJY=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=Ad6swJdWo1IwISr5c/t9icf18UMj2lCExyhlgLv+O+KgaYu/qZg8ZZ19ks7CRln5E th4SmFbPGuTwMIGWdBPmtnkEM1h2OX6Nib1afv4AR2f2DybEiJNrBhoHPj7vetKS+D RcEols5/yqQmNho1ySddtpAimBACwAUt7LSdNXjRvv3zf2+ztH5QxDP7FrFynityCd WEcYDgO2xfbntUyjU4vDS/KZxH/Y5WpDdFnzn7ZNIBTuOYk7HBxSz12lldH6KT9VV4 FIMWxf5Rxd7oFaVbCxDughxs/4yROiz12DdTIU7tVLWKYHhXtEt8eESRjH8vAEURe4 nw+TGWsF+9gZg== Date: Fri, 16 Jun 2023 12:21:40 -0700 From: Jakub Kicinski To: Jesper Dangaard Brouer Cc: Alexander Duyck , Yunsheng Lin , brouer@redhat.com, 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 Subject: Re: [PATCH net-next v4 4/5] page_pool: remove PP_FLAG_PAGE_FRAG flag Message-ID: <20230616122140.6e889357@kernel.org> In-Reply-To: <72ccf224-7b45-76c5-5ca9-83e25112c9c6@redhat.com> References: <20230612130256.4572-1-linyunsheng@huawei.com> <20230612130256.4572-5-linyunsheng@huawei.com> <20230614101954.30112d6e@kernel.org> <8c544cd9-00a3-2f17-bd04-13ca99136750@huawei.com> <20230615095100.35c5eb10@kernel.org> <908b8b17-f942-f909-61e6-276df52a5ad5@huawei.com> <72ccf224-7b45-76c5-5ca9-83e25112c9c6@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, 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 Fri, 16 Jun 2023 20:59:12 +0200 Jesper Dangaard Brouer wrote: > + if (mem_type == MEM_TYPE_PP_NETMEM) > + pp_netmem_put_page(pp, page, allow_direct); > + else > + page_pool_put_full_page(pp, page, allow_direct); Interesting, what is the netmem type? I was thinking about extending page pool for other mem providers and what came to mind was either optionally replacing the free / alloc with a function pointer: https://github.com/torvalds/linux/commit/578ebda5607781c0abb26c1feae7ec8b83840768 or wrapping the PP calls with static inlines which can direct to a different implementation completely (like zctap / io_uring zc). Former is better for huge pages, latter is better for IO mem (peer-to-peer DMA). I wonder if you have different use case which requires a different model :(