Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp35759451rwd; Mon, 10 Jul 2023 12:08:45 -0700 (PDT) X-Google-Smtp-Source: APBJJlGkYbYGBOFO2O/MN0c29OIZLI2MHEJiZF7enRsVl1fmsZMoShQvf3CTaJ/aszHPMvSSIgpT X-Received: by 2002:a05:6a20:394e:b0:131:bc20:a797 with SMTP id r14-20020a056a20394e00b00131bc20a797mr4490518pzg.52.1689016125296; Mon, 10 Jul 2023 12:08:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689016125; cv=none; d=google.com; s=arc-20160816; b=yKwuKvvB6myCiG4bG20IeW044kVXhDVbxSwIhqD1j/bWPNirJY0eYfqRw/Z99346PC Jlrl74RgEXcvyUKYSyUyMR/puHseynAIGd/bnSkVwiTYvnFpAgnlysSAh0AR2LnDy/76 bq9LB/1UhmE6Ye6yBIEIVJr9R4jMngWznqRLH+hUJdnKvYuiSWf38SSpcBLe5gTzjoN0 HPeCdHP8HVt+usKncOVGGucWZO6sFcJm87w0t8a26il5Ja/mQMojWtFhUn8uZKIrFEmw TyPPFwQtziIqwpdLasgjx++4K6qqg/12u6QIFLCiP8W9AwEn47bWSOuDwmY5H4872Q5d I5Hw== 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=hQHQF/aO2ysbwOVT5XuzCsAuhQNW4cQu4worgN4XlhU=; fh=Wy9z82oD2Unn5Qjz8nBQ5XOPkjKI2FozJA7sdRnZSAg=; b=SMTSue2joPCuADH1skstYHc+mL9ZUz9R0ZGhoLiWt8G6sKZol523Vo5xoPvyThM8zP UUb869BvWwT+uEOSwdIq/tMLpi7paxtai3k1yUwPvG2LLpzoP3vNSdxDtuy4+85I1W9W aUYVRMLOYfnq7XEq9EBufjgXV8D6mCCNv+fPfZzKHufX5JEzsr+DVAKDK/xPGvIulGj3 OSp6WqydKkiaMD3En5wrYPUeK2Ox8Xps6R6QTC99hqYy+FPXyeDW21qLgoP+4Kdvf3ZE XqmJPkQx0oxMdfTVnmli6uuhqJe/P2i1GLdSQcUgP4zGUA1JOBs1H5c3HquhJuSQKQZd i0Cw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=mtKID28L; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-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 f18-20020a633812000000b0055383df74c7si93018pga.224.2023.07.10.12.08.32; Mon, 10 Jul 2023 12:08:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-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=mtKID28L; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-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 S230284AbjGJShc (ORCPT + 99 others); Mon, 10 Jul 2023 14:37:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49692 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230490AbjGJSha (ORCPT ); Mon, 10 Jul 2023 14:37:30 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0E4E5E7A; Mon, 10 Jul 2023 11:37:07 -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) server-digest SHA256) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id AEC7161188; Mon, 10 Jul 2023 18:36:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6C4E8C433C8; Mon, 10 Jul 2023 18:36:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689014216; bh=3V48iVlWikK7+xkrQrVzUL1afLYqdz5P3aWe2xP9aKw=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=mtKID28LzQLD3ZKaKVednP+/AYI/nIBf3aeVEYSNOMj0K/CS77ps4kCUTSxM4mNmJ 7BmZ1h6pa3jvSNZDQ52kuCvbTRC3T+2O3N1SN7jpJXQpjTdCHV+s+1iU1V3O1ECQrC tF8OpR6hqvfahjNhiAXGIWt6jTBN8QWuBLlYvaD4X85LZcDJZTZRiyWWyzWwHkczR0 Lo3S+TFqfwZlKg2Brnw71cuFAyH1IrgSoo+22tDLuLsx06OMm5r3lL1ueYOgAY8zIW ne9p/DlyMzbYFhgU3pKz6f3pyDZf5r+QwA+bObVKNSHtHtGSrIOk3Tbu8PUkPNURot uFtodyGqbtADQ== Date: Mon, 10 Jul 2023 11:36:54 -0700 From: Jakub Kicinski To: Yunsheng Lin Cc: Yunsheng Lin , davem@davemloft.net, pabeni@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Lorenzo Bianconi , Alexander Duyck , Liang Chen , Alexander Lobakin , Saeed Mahameed , Leon Romanovsky , Eric Dumazet , Jesper Dangaard Brouer , Ilias Apalodimas , linux-rdma@vger.kernel.org Subject: Re: [PATCH v5 RFC 1/6] page_pool: frag API support for 32-bit arch with 64-bit DMA Message-ID: <20230710113654.71d1ac84@kernel.org> In-Reply-To: <81a8b412-f2b5-fac9-caa4-149d5bf71510@gmail.com> References: <20230629120226.14854-1-linyunsheng@huawei.com> <20230629120226.14854-2-linyunsheng@huawei.com> <20230707165921.565b1228@kernel.org> <81a8b412-f2b5-fac9-caa4-149d5bf71510@gmail.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-kernel@vger.kernel.org On Sun, 9 Jul 2023 20:39:45 +0800 Yunsheng Lin wrote: > On 2023/7/8 7:59, Jakub Kicinski wrote: > > On Thu, 29 Jun 2023 20:02:21 +0800 Yunsheng Lin wrote: > >> + /* Return error here to avoid mlx5e_page_release_fragmented() > >> + * calling page_pool_defrag_page() to write to pp_frag_count > >> + * which is overlapped with dma_addr_upper in 'struct page' for > >> + * arch with PAGE_POOL_DMA_USE_PP_FRAG_COUNT being true. > >> + */ > >> + if (PAGE_POOL_DMA_USE_PP_FRAG_COUNT) { > >> + err = -EINVAL; > >> + goto err_free_by_rq_type; > >> + } > > > > I told you not to do this in a comment on v4. > > Keep the flag in page pool params and let the creation fail. > > There seems to be naming disagreement in the previous discussion, > The simplest way seems to be reuse the > PAGE_POOL_DMA_USE_PP_FRAG_COUNT and do the checking in the driver > without introducing new macro or changing macro name. > > Let's be more specific about what is your suggestion here: > Do you mean keep the PP_FLAG_PAGE_FRAG flag and keep the below > checking in page_pool_init(), right? > if (PAGE_POOL_DMA_USE_PP_FRAG_COUNT && > pool->p.flags & PP_FLAG_PAGE_FRAG) > return -EINVAL; > > Isn't it confusing to still say page frag is not supported > for PAGE_POOL_DMA_USE_PP_FRAG_COUNT being true case when this > patch will now add support for it, at least from API POV, the > page_pool_alloc_frag() is always supported now. I don't mind what the flag is called, I just want the check to stay inside the page_pool code, acting on driver info passed inside pp_params. > Maybe remove the PP_FLAG_PAGE_FRAG and add a new macro named > PP_FLAG_PAGE_SPLIT_IN_DRIVER, and do the checking as before in > page_pool_init() like below? > if (PAGE_POOL_DMA_USE_PP_FRAG_COUNT && > pool->p.flags & PP_FLAG_PAGE_SPLIT_IN_DRIVER) > return -EINVAL; Yup, that sound good.