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 E274DC5AE59 for ; Thu, 5 Jun 2025 19:43:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7920C6B009A; Thu, 5 Jun 2025 15:43:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 741E26B00CC; Thu, 5 Jun 2025 15:43:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 630A26B00CD; Thu, 5 Jun 2025 15:43:59 -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 45A346B009A for ; Thu, 5 Jun 2025 15:43:59 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E561E1A1546 for ; Thu, 5 Jun 2025 19:43:58 +0000 (UTC) X-FDA: 83522372556.05.286E2E9 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by imf19.hostedemail.com (Postfix) with ESMTP id 120351A000D for ; Thu, 5 Jun 2025 19:43:56 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=rmYOoCU2; spf=pass (imf19.hostedemail.com: domain of almasrymina@google.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=almasrymina@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749152637; 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=lj3tye4JAMlRcErC28Dz8Fh6Njy6GB9AnVOY8tKtYOE=; b=PGoviw43low7h6u6tUyymAmZkrbUEZ8i4ey2Yq4rS0DkTu2ST7M3loY9J2Sq3uFiHd8+rB CYcEegZcg8L0BJG63cpCSLfhQCha4YuWOCLuqMx2peT7l8gBF8lDwV+pvSPLk4EG7NObvJ kkMd57BcHBm2yjsfDrUvmtQTSaLe4y8= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=rmYOoCU2; spf=pass (imf19.hostedemail.com: domain of almasrymina@google.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=almasrymina@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749152637; a=rsa-sha256; cv=none; b=LvHH7YPQt6FztGz10FUg/4GFCDPNcB/RR0MPmFilXbJlxFXw8rh5bER1ndVw93DqPeU0cy gg8F8W6fwbhh/gVuo3Zruz2K+G1jE5G27gzbEv0rpzBoM5mBI1PaSZqltqtyHkLMaWW5ZK wJMnuIqIGPcutt3VXFlYUBnxUCWHJck= Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-235e389599fso52275ad.0 for ; Thu, 05 Jun 2025 12:43:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1749152636; x=1749757436; darn=kvack.org; 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=lj3tye4JAMlRcErC28Dz8Fh6Njy6GB9AnVOY8tKtYOE=; b=rmYOoCU2hXNNq3lP0FMbc1i53TIB5wKeg1WaPcNVyJ8UX0M3HZtZMFwHJle4ttoLBL weszWtqkoQQSMVEjHqVfNYtHnc9wSEGj8EQ5NzTuMyOPnp8FUWu1u6Z64qjmESsBuntJ lvDKgX/+ODQz1cmLmXlOMUn0o1qf0pMevc2yDQZzU/t3iSP4+XQCFZpNzZLC9TI8yOfu EuajWLrUKmsMmPMBUelG4mJf1vb0g4xhGZWK1B/8pDHauCl09wBSxVGEI87DeJ3Bnnqu fW1ejJVOQrOw+wwXZFuc3AJIBfjoDP+9LRZzppcslWje/OIxKax6hT5/37ywcAoM9TgD OKAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749152636; x=1749757436; 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=lj3tye4JAMlRcErC28Dz8Fh6Njy6GB9AnVOY8tKtYOE=; b=dGP1iWqzun08lab83q2+SEIc6+eEBfgm2yw5h8Xffz3k7kS3Ojm5iZTMycv3cip/RC vpd0+Yh0RQuWf6wPp05vrmCnouW0/VbOBIxowqSYHSkQ1YvdLcGjdVamrwl3iMDNrxpe ndwvD5Dryh4WYcLx+SxoKOKywdxCs543VaQ1IIj4tbmaqBf+gjPIlOsPr6FNLMmPnMcu etU/HCE83LRp+vt1ASeDjSCd9mbFcN5gIar0cOUNeuTZHo/qbP2ncXHChLFJta3GfEN/ +FFeb+j8YSWEdONIa5nUSNFkcvuJSJqf2ts6S8p9wbwouEWs2RTKVvcK0d8EKrN2uWbq TsDw== X-Forwarded-Encrypted: i=1; AJvYcCWsNqMTm0iPAagmAPkMWNZ/v8gBJ8nzWzAnU56JD2hMEpkVwaxN2GndJEaUdieE2qskIbGxgCqHBQ==@kvack.org X-Gm-Message-State: AOJu0Yxzsvhwo8dbD2ZjRHvnXBS33Ramls3LRhtEsBq4PV39pnTQNsWE zdSfJtgGiV/ogot/Wz1SZfMqxej065oMjZfwUUhCwGp4+10IgvEeTmwbVe0miXJ7sY4BqOw80Ra xYkgLj/dWiOcIrjX2u6PqMsfK0mkdPgZfApSy+hyD X-Gm-Gg: ASbGnctQ8zcyYG9ru6yUuG7Fv8C1yZbN5Wqznur2rDxtpmADe6XJin9TamqHJ+4URV/ L5E8YGzBOxnIFI7qq22D4NuNS4kiB8S0M6WrDR3YvI1B6h6AG0MkS7Dyll4XDzyZ2QSuWQqHJRu TCYpvpsP1nrg19CRNjVUIqfds+wuu+YvobqoqSQmS0cBwF3awynR++yqc= X-Google-Smtp-Source: AGHT+IEBIODvKBKgtAshAl1P411grxlbXS/55w2jMC1YMikPG5ZKwDo4SPQP9h6zD1jvtjknBfImHPrKKrn1cZNVkuU= X-Received: by 2002:a17:903:1c9:b0:235:eb8d:8018 with SMTP id d9443c01a7336-23602350a46mr581785ad.28.1749152635690; Thu, 05 Jun 2025 12:43:55 -0700 (PDT) MIME-Version: 1.0 References: <20250604025246.61616-1-byungchul@sk.com> <20250604025246.61616-17-byungchul@sk.com> In-Reply-To: <20250604025246.61616-17-byungchul@sk.com> From: Mina Almasry Date: Thu, 5 Jun 2025 12:43:42 -0700 X-Gm-Features: AX0GCFtYUIJFXLeYwJiH9gq68hlpsWo0WYW6pa8nN0A0HiJO6W2G4teckj3LJCU Message-ID: Subject: Re: [RFC v4 16/18] netmem: introduce a netmem API, virt_to_head_netmem() To: Byungchul Park Cc: willy@infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel_team@skhynix.com, kuba@kernel.org, ilias.apalodimas@linaro.org, harry.yoo@oracle.com, hawk@kernel.org, akpm@linux-foundation.org, davem@davemloft.net, john.fastabend@gmail.com, andrew+netdev@lunn.ch, asml.silence@gmail.com, toke@redhat.com, tariqt@nvidia.com, edumazet@google.com, pabeni@redhat.com, saeedm@nvidia.com, leon@kernel.org, ast@kernel.org, daniel@iogearbox.net, david@redhat.com, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, mhocko@suse.com, horms@kernel.org, linux-rdma@vger.kernel.org, bpf@vger.kernel.org, vishal.moola@gmail.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 120351A000D X-Stat-Signature: 1oi4dodkm7d7znt9a45doyd3h4ubxp1s X-Rspam-User: X-HE-Tag: 1749152636-430866 X-HE-Meta: U2FsdGVkX1+uQKsNPt/9S1ojGaixLbzm7e1f488mcw8q2GEQz98NvGedqMb8CXSN0ZaAaPIu2F8MvFWcAi0swSR2gkg3YXtZJGiyu7iTgm9F3hZipjEZoJ0swNmPMSbk85/P8tg6Uu+sUG4OcjQyFlPAVkFuN52Xc5/aW6RBVjkCVW1HevsJdUqTRLSSCOkbta+ZD4AWZzQeGHU5II7ma5pS8ur3tFIt5/brxOz7VY2pRh0LJCUtywH0eJVaIBlHDZqAc2Kbz3D9v9DuGDih/q1+6mP3Wuas5cCz97SAlY/QkcPAxNI/h2FdJf/uGWnb2mchUHQMwWjRq87/ongdw+dTZek0wrmEN5PK879vj+9iRVZkPHfTprqHV5c9c7rMQF1VDVO5tyCbqDfG1nqHO44UhNVPu2WpJ9Do3XRMBkTvIHwIbYNZmqv6WhhfSvWtjdkVvSvqzyRTEGoQL5RKO9EPNbAJg3iialGC+xY4hV0H2B4KItJA6kNdw0RFmM9i7fHFa8LUdXbVmndQumV9B0tuFSgOy6H7JixiWSgeXV/sRfuElnkmtFiamcFKbnhyJx4jUbvLwRt+Zk4jQbxHulmy32uVhISvvXr/m9dMI3XmeLiX+z+tZDg8quNNcAdKmh/9wHnTKAkryjSyP1IjqUsOYsohlDuOH0ayx35F3l5z4ASL9H8R3Czgk4UCFBJ+V5P/+lqK/IVb0X9oF/ceLxcVkDbk68oZd+h67O1x6BVEl6QTBou6PzjfttjUgxwtP8w1buT+cHI0MUS0XJGU2LsXsUcp63vtp015kjeHhChSmxJW4J/EWQPKAnf/RHnUxiNl1GIczwPd8ANgA56f6Ur2eLGNqpUQaE6Vr8uC2pvkpegtwD5VvNSF+VvqMb0LNWfFJrDfeykDpWq67t53TokRzIBfHZtaVGxPH9AWiZmnihgpeByoc1d0FoQgBnbPANyQCzeRa5l84l7p9VV odAJ9jXE MClyh/awUGhU0VLD8TjMClEKakzrB+ms/GM6841jrlnBOVekFUQjGOdaSsJEz/vzwuAVhV76Q937NIXBshxaiFNrqQxrWXwnMzlymxxFF16SvkRQ94VSQqLTyCe40fyo1W8KWSz3EKTCXZn6nUZ/Ys696OQygck5T+0yrWihaTGp1EkKhk8kx7smd6LGIlCIXjFGpjILXdtCTDTtUpdqwmSqtUDdhFJOwSNr8CgH+HcAqAa6LeEdZiFfKiij6pLdRxZqIY3+yhNGiScsVWyoyIXFW8lw82pNO7XKkKgIChFNaFoumDzgKCoS7qRnjbzIVlcdYK+a/V6fVFxFokkHfZ9wWuWKznOOdMxEv//oDhLie3mdD2oj+iesHVJHxFEjIF3iS0d5HJsCWbwayXZ7QGG9WHw== 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 Tue, Jun 3, 2025 at 7:53=E2=80=AFPM Byungchul Park wr= ote: > > To eliminate the use of struct page in page pool, the page pool code > should use netmem descriptor and APIs instead. > > As part of the work, introduce a netmem API to convert a virtual address > to a head netmem allowing the code to use it rather than the existing > API, virt_to_head_page() for struct page. > > Signed-off-by: Byungchul Park > --- > include/net/netmem.h | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/include/net/netmem.h b/include/net/netmem.h > index d4066fcb1fee..d84ab624b489 100644 > --- a/include/net/netmem.h > +++ b/include/net/netmem.h > @@ -265,6 +265,13 @@ static inline netmem_ref netmem_compound_head(netmem= _ref netmem) > return page_to_netmem(compound_head(netmem_to_page(netmem))); > } > > +static inline netmem_ref virt_to_head_netmem(const void *x) > +{ > + netmem_ref netmem =3D virt_to_netmem(x); > + > + return netmem_compound_head(netmem); > +} > + I would squash with the patch that first calls this to shrink the series, but anyway: Reviewed-by: Mina Almasry --=20 Thanks, Mina