From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 37D38C3DA41 for ; Thu, 11 Jul 2024 01:22:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2D2FC6B0085; Wed, 10 Jul 2024 21:22:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 283636B0089; Wed, 10 Jul 2024 21:22:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 14B536B008A; Wed, 10 Jul 2024 21:22:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id EA9E26B0085 for ; Wed, 10 Jul 2024 21:22:13 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 5D7BB401B1 for ; Thu, 11 Jul 2024 01:22:13 +0000 (UTC) X-FDA: 82325720946.23.F5AB270 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf26.hostedemail.com (Postfix) with ESMTP id 19BA1140003 for ; Thu, 11 Jul 2024 01:22:10 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Nu7j9vqd; spf=pass (imf26.hostedemail.com: domain of kuba@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=kuba@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720660915; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=z065CmQtp4sPSXUhBK40b3x6lkfQqvEcRyvdT23fIRM=; b=K6uuJ0pgy2eH6pKBqw4MR8VB8tOvcTLVSlyzmZ4xvK/j/i8G7QnrgjKC6P0sovKalKZXlB LQ/PvWdeauOF/WRao5uSddMb0A3Mqjn4HfoRZhbWsx/UOYh13xrUoZ3RrQwnjQKJ8HcLPH ZmaETFNBcqi2DuDm1ON0vOyInBA6EJs= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Nu7j9vqd; spf=pass (imf26.hostedemail.com: domain of kuba@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=kuba@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720660915; a=rsa-sha256; cv=none; b=qgkJYvLUE9gHR+3G9ru8pxUNlRjsUdVz/eE1DN3vRP4+x21zqNVnRQPGcKAEl4BI5jjnt5 MOgCFyJIefaVNvWRSqW76amXVnNs0F1TfXrEVj8cPLOfc3GytFJL7FZC6eeAf8Q93VmQa9 cx5J7K7+PdjqEJge4OoED2K1SKr0tzU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 0ED19CE13C6; Thu, 11 Jul 2024 01:22:07 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BAA79C32781; Thu, 11 Jul 2024 01:22:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1720660925; bh=QjOULS8b+CZJ29PyHWRuJmie+Hn55IcoVG3HP/3LohE=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=Nu7j9vqdXFB65PlvnMG07kLL4ivK1FfVmXPHqTj2KJK596Mc9VqYs9lJeZEnKP7ON zXThKeg9bymdodZ2PIefG7emFD2gdT5qBsgTLm+H20XqJqPqzN0EFhC0m76b69HAKY IYbR340PfQzawxYhWyFufDRPBQHIiiklguQ7ygzJqm+l2Li6ovHnuc9HjM2IhUp6DQ /pG5oYdKyNVQMInWszt3EtEL8K4E758yZUnsbrn5XLQuIRBzGAmZ53YVSi6XiVF6Hp w6+ekApzB8N7QHyw3aeV+j7GzkIcFhh/EmmQxXvlulGRFFFtOWh1wCj2EME4SmvAhb q7RK7aphR1DUQ== Date: Wed, 10 Jul 2024 18:22:02 -0700 From: Jakub Kicinski To: Mina Almasry 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, linux-kselftest@vger.kernel.org, bpf@vger.kernel.org, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, Donald Hunter , "David S. Miller" , Eric Dumazet , 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 , Steffen Klassert , Herbert Xu , David Ahern , Willem de Bruijn , Shuah Khan , Sumit Semwal , Christian =?UTF-8?B?S8O2bmln?= , Bagas Sanjaya , Christoph Hellwig , Nikolay Aleksandrov , Taehee Yoo , Pavel Begunkov , David Wei , Jason Gunthorpe , Yunsheng Lin , Shailend Chand , Harshitha Ramamurthy , Shakeel Butt , Jeroen de Borst , Praveen Kaligineedi , linux-mm@kvack.org, Matthew Wilcox Subject: Re: [PATCH net-next v16 05/13] page_pool: devmem support Message-ID: <20240710182202.0324279f@kernel.org> In-Reply-To: References: <20240710001749.1388631-1-almasrymina@google.com> <20240710001749.1388631-6-almasrymina@google.com> <20240710094900.0f808684@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 19BA1140003 X-Stat-Signature: yy18ayxzca1jw3ii44t8fpngfq7ac3fg X-Rspam-User: X-HE-Tag: 1720660930-611418 X-HE-Meta: U2FsdGVkX194ZYHNqYeQm2Sj11o3B3yH0FPyixOunSr/JIXz7xh+9WC5GrRZY08mzz6lKMqRryk2bps0y9ntg9KhYlZohou9ucDT5hjNeqXXuRCTviaSMVBFGL2Rl4hojtJv0/mqvP7tyZZ2+TZePi2e/W4uwWb6sUYdmq0sNI4xgoMq4ksEWaYQFxyMXa+PQdfJZGm1phWjVJu2ORkLSp73D8ia2XqGVrbNMpZ8UGxmJr/c1uqQP8yaDeJ22yvjRU7CA7hV7JcoayM1APmnQrqmoH6m8Ckgakse0CuSUtHOwfQ6gkzCaupv0Z4PLqqlvenVBbZMcvOWMe4cZLPAzO5sTP39ie74bswXo5mU5mhjd9G0yHpUi3Pj/mZg61yQXsCG57F5BAgves4G5FzOijp+CR6uSXW1n1khOEywAxvmUrzr0soDDSDvQAQye1oDGBpvzcmqETZqsICW43Nkg/r16cJtH0wx74ToVG/oWwvuFwOxXXuBtg7TSImpk7S5R1FRUQ+NLFVzwg3M1Mh+rgkPPcfVgPZxPsi2pyugcLOBusY/DAOdD0AZ+fOtJ3e+1oH9x02UQpOTCcVCSy7XATRFaShgMzhppFY56c6h7Sqx/Fvba09/De2GY01xe/NJIzzcIEWnVNCXzErhVKJBcwplNI1qrWKyQgV9X/9wuvX8h4n4i/9h9tPUPR7D4gWojx89f7UIemiBHzklc6IfvfYtLEUuK6iAzBbMAWuk94IaI6R85riKwmFBd89jVZaCECGU+9VsYQ1MHpC8zWwjhoWsUsO/659AEmPKsQJciEOLvDFSb8iVoQFJjCxbVT23qG3QYga8Y6ef+pBi30C5egHetZjv8Wn8Ldyj164KdRsA0eP7bkHabbAzQjBt8l98J6StLCKN9wjhmPwHia0PfRKArb1TPQ1sR/cAKmHGp93PjJbzEY/JguK+e8woNtRuT5ZsLfnNuZuHz4CEGnb eKI926WY sVOUJd7+TV22UJsG28uhRPv+OpCZ38q8JeKDv50A3/SaoraYP/WV1SDX28UL6pOPdlyr1qx99bwIdNMOa5DS/2bwNAT0hoqcO7h9hqXIfqAO/uoih3dCbacDcRQgHJu5avmHbv/SYSqzdRKP3JN6jdGzzj24qqaYs5lZYmc/tOFGinjlbbBL+5F6V3QRd1O4xK078cefHBlEhWNDuVP9S29fAgMK2CqNcdeiNXF7V9BUqyD1nN6ZgzuxWyj8Yy8xj5fqpC3DXBygGVPPU71CEyj/SzX5Xbtmq79ioQKhk8MGaY+MNJZpv9gyffjgy8kO2kRoTNSgs41PamJgpWIOGpVzaLg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, 10 Jul 2024 13:29:03 -0700 Mina Almasry wrote: > If we want to add __skb_frag_ref() support for net_iov I suggest something like: > > diff --git a/include/linux/skbuff_ref.h b/include/linux/skbuff_ref.h > index 0f3c58007488a..02f7f4c7d4821 100644 > --- a/include/linux/skbuff_ref.h > +++ b/include/linux/skbuff_ref.h > @@ -17,7 +17,13 @@ > */ > static inline void __skb_frag_ref(skb_frag_t *frag) > { > - get_page(skb_frag_page(frag)); > + netmem_ref netmem = skb_frag_netmem(frag); > + > + /* netmem always uses pp-refs for refcounting. Never non-pp refs. */ > + if (!netmem_is_net_iov(netmem)) > + get_page(netmem_to_page(netmem)); > + else > + page_pool_ref_netmem(netmem); > } Probably not much better since freeing still looks at the recycle bit. Eric and Willem acked patch 8, maybe it works, and if it doesn't we know who to call :) I can't point out any case that won't work so if y'all think this is fine, let's leave it.