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 9EF15C3ABC3 for ; Mon, 12 May 2025 12:46:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 50D496B0117; Mon, 12 May 2025 08:46:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4BEEE6B0118; Mon, 12 May 2025 08:46:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 35D446B0119; Mon, 12 May 2025 08:46:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 172666B0117 for ; Mon, 12 May 2025 08:46:43 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 93DEEC0F85 for ; Mon, 12 May 2025 12:46:44 +0000 (UTC) X-FDA: 83434229928.13.BE451A1 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf12.hostedemail.com (Postfix) with ESMTP id 548324000B for ; Mon, 12 May 2025 12:46:42 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="V/SkoFB1"; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf12.hostedemail.com: domain of toke@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=toke@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747054002; a=rsa-sha256; cv=none; b=mBgDWLFEraxYR6M63BTaTOjG+77BNcO7Yub34H/gW57HCIjfnIQrw5BeogX6K216SgKz+J NvvvlOl7P9eNk/MoBXTStD5kez6tYd9sbg63lQADDnXhBLij9FSFp0R1a5C975zJboMJAr ZWJHGFMbBvoeRKNQ9yiOo1t31rFI2uE= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="V/SkoFB1"; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf12.hostedemail.com: domain of toke@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=toke@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747054002; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=0NkzqQd6U+yQ9nxd2lN/wdHj8OOAvjcAGxVttB90OmY=; b=fO/H2GyytUeBj70VYZjn+JUecPEX8ZPP1w1UWkWthr6+GJEsd13+a7JiV6dHkROKWa/hxX e6JuCZj4STuv2L9NyIpyQ0cxPkHTP1Npxg84dS269awWqYbyGweOsDEstGnjSa3NPlHFP9 C9x4Z+ynfXKFAAaS/8jJYj57lp6wN9Q= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1747054001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=0NkzqQd6U+yQ9nxd2lN/wdHj8OOAvjcAGxVttB90OmY=; b=V/SkoFB1VSJ/UhaJ7bpF1PVT/mU3zUZNJnkXfOC6HWNA55LzLBz0OrX7Mnrc1LmsQGTHtL Mnywhzx45mp7jA1dLAwq4KQkkisBuj8GYE8Ugrx5mkepDrjrLWQuFIioWnY5frQD0fQWo2 vZ95TNndVd2WNliiUzCEOP1mp9s4F+E= Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-297-WHtxOXqeOmKXMN-9hnIV6w-1; Mon, 12 May 2025 08:46:39 -0400 X-MC-Unique: WHtxOXqeOmKXMN-9hnIV6w-1 X-Mimecast-MFC-AGG-ID: WHtxOXqeOmKXMN-9hnIV6w_1747053998 Received: by mail-ej1-f69.google.com with SMTP id a640c23a62f3a-ad241aea292so165650966b.2 for ; Mon, 12 May 2025 05:46:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747053998; x=1747658798; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=0NkzqQd6U+yQ9nxd2lN/wdHj8OOAvjcAGxVttB90OmY=; b=EkcdfrNuwHgSY0p8quSKiCrkamFktkEbE53wdW9xVW1v59xgmSCFkhhuR6jyRuix1j WnSVYLo8Kb1xpqjeDVqXF66hZldWgpgl4n4fEKvnvxpH9Shn39l1GliRXlxVU6SmMdTX ks/jGiOrKRcWF+D4QKKprIDo+Wtq9IaP/SK/EgiDN1c+H7RgUrnv9r2mVZx5piAePDnI eIdyfUw/BzxcTlnY55jNOD/XRVBOzWSN2rLyzzoZjBYO0ojs0SK+EA+548EUOyLgtAFV Agpv6tfW2EUVBD1vN7Kq9WHzpEG35Uid6Qdx4RSooBRPp8E79etBtor0DVlgnRrYpnSF xSbA== X-Forwarded-Encrypted: i=1; AJvYcCUeFTKM3IxwGvSRPWHD3lXB47eg+bG/AcAyDyCp4m78aY3NjTkmPklXB01vgJk1T8Ju/IdYF1y64g==@kvack.org X-Gm-Message-State: AOJu0YwUfRsDuR9l65cBtw807YVkTIO5JxcS51Lfa2p6WtLHTYJpvI1K mJbIgWcidw8br6vD61ck1dXzrNakBG04gfqoBjYtRa12abggQKi8BcN1zfXYUqj5OyYueuIIT8R YOmccNeT17QphPpKtyzIFr+SP9EOlkNgPaEL9jIwwia/y1n7T X-Gm-Gg: ASbGncvF5rIf87ucTWISPW822jB1UN4zWXyWx1Df6W6ex0FQvrClhNBbMciir2shm1X SQK4Masnfm0ibx77PEQrc+Pvw729+TqKvhKLI3oLm+ewUaGJnEY09xwQEV5Abe7jgvOihvvgxky ReRAee6ToWhmNTcDfkOPeDytcHTNYpEmrZokoKZY19BoCV/NvOZC+kdwrYqbm+tjn6sddu6/rcz Q2ztf8f5v0U1SACm7ffe/F79Kzvv6CCJQoa16/MaM4T4C20Wyyi2dUlP1+XHoCXEW0EX9GoK0GM w2/tfj9Kzmmz9epjcFfKFYuDYY9673yQC2KI X-Received: by 2002:a17:907:60ca:b0:ad2:47e7:3f40 with SMTP id a640c23a62f3a-ad247e741d8mr610957666b.51.1747053998240; Mon, 12 May 2025 05:46:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEv5Yseqz71/930sKihuYXBmsPyQO4+2Jp0cb013Gtt770NhHe4Wblb+klxHw4Q72ax0dlTvw== X-Received: by 2002:a17:907:60ca:b0:ad2:47e7:3f40 with SMTP id a640c23a62f3a-ad247e741d8mr610953566b.51.1747053997827; Mon, 12 May 2025 05:46:37 -0700 (PDT) Received: from alrua-x1.borgediget.toke.dk ([45.145.92.2]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad2521cc56bsm193357966b.109.2025.05.12.05.46.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 May 2025 05:46:37 -0700 (PDT) Received: by alrua-x1.borgediget.toke.dk (Postfix, from userid 1000) id 3A9011A0C828; Mon, 12 May 2025 14:46:36 +0200 (CEST) From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= To: Byungchul Park , willy@infradead.org, netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel_team@skhynix.com, kuba@kernel.org, almasrymina@google.com, ilias.apalodimas@linaro.org, harry.yoo@oracle.com, hawk@kernel.org, akpm@linux-foundation.org, ast@kernel.org, daniel@iogearbox.net, davem@davemloft.net, john.fastabend@gmail.com, andrew+netdev@lunn.ch, edumazet@google.com, pabeni@redhat.com, vishal.moola@gmail.com Subject: Re: [RFC 13/19] page_pool: expand scope of is_pp_{netmem,page}() to global In-Reply-To: <20250509115126.63190-14-byungchul@sk.com> References: <20250509115126.63190-1-byungchul@sk.com> <20250509115126.63190-14-byungchul@sk.com> X-Clacks-Overhead: GNU Terry Pratchett Date: Mon, 12 May 2025 14:46:36 +0200 Message-ID: <87y0v22dzn.fsf@toke.dk> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: x6yWCdV704dZJGzho4nWiLOY6AUKAcL9gqVR_2qqGME_1747053998 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-Rspam-User: X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 548324000B X-Stat-Signature: bsh9axc49ubajcq9cjnpiczp5pn4fufp X-HE-Tag: 1747054002-770958 X-HE-Meta: U2FsdGVkX19dC0xlx94lMGvarxVXNE6T3F/x8JWf2eR8tsFCwVyMBph18sxH2SJWcMAZTYxXySRC6KBmPBQ8K10+WDd5rAtwr0r1IfGbhJ8h54Dh3qTU/jaGSzKXW3hs0J5setrcSS+2FTMBrN77NLbv2b1Oio9/Ef55xNazz9GLh3O4wNERHDQ7PUdEqIUM3rpRAjnwFCew2HaSmjOAEHAMSPWSIAF7Cm0g+PdT3r6MScL6F4eR9D2THa1SzJGvyECNOBJfDyUxKTbLhrCPaFK3zhYEtRcSYu3Fpepq07+ps3rw3PtSy/efkQX/e6mKwg4jGmeENJqry/uHditJWHiqWbJ4Rczm9cQO+pEjiIRagXAsveddBjWthvQAAnQawvABOxeupT/yte0uwtihcQEUggPuQVI7IgEN7u4HIe35BGWjIncbZCSNcHcfiPa2+InK0WrZoB6cVOOLgIr7O0V/wpeFyLoFV6bJFYYhS/mdqZNQU5fsPugmudfVjm8/Z6kCU7Coojg9jz/kFuG3rQsDz2PWnxXMjlemdchqnQbxHqMi0yKDt8ug4eOoPJ/CRho45eyQIC6SRTeZ0MMYZgZ2DqINv5mcFcCdeXs18lGefF/H51pphlbjc9a75MHIwkEoSqv3XHrM6KWaXbHSg4b453bFyj/bUSnU6xW1hmTKclIVG/5mE8i/kcjlgPE29BsJCpIzgMZrHjqNMXo+oBZFhGsCXYeY5T7zQXNdmueb694BkVXNJAskfnLJaM36W4LahAOc3LOX+57OxuYVdMCYfF7quTLj++AV+PRHcd8CwM/NIF9FLCJEmy/hfS7e+9S9lEdJh7h8LJ/S0xpdHOGQ4FvBGaBHyOaBN+GfyAxdMSK4fENfEwxyexJmxh6A/pOYrhCfHBEX2MS+V3fjRneVL9Qg+lEpW5c8LtaSlSmCuKOoPt4JDkcM9R5Ahhd3ythRs0e5aWAEGu8ofUL lnssHp2Q kS3BhN9d1jY/Nkd4uFRVN1w/50evPmbiUq+emhc984Revxs52Z6ZmK7ykuK/lDyKLVeK3iKR9AYN8P2jGpM1l81thjA/6sGoWH9qpBJJryYCUvXw9PzaVm2UFs+6U0qwJ82U++mtbDPleK9ZaFw2wz9/UQLsVmGerdn2Tbf7lPS/5WTSQdYrpS2OR2pNMFQJhUO7fsObQMCAJnjBLElf+Z+roXjhEkLs13HIWFUZACyuxk9GZJPKEr/h7/KwGMGG+fhwS/wRLbXKFWKTUVPFvt+9L6txTFPBe1zRHrMKstbL0zJQ71Q6Ow8XkhEozFbyzdYOIXR9p62j9EEkGtEjarz8OSqWF7JUOMnpKORPLk1nmWPLe0HfOJjWWNgGfBqVX5T1o4PqC5a/vPkPrQwU3suhzrP2wPmjoaVi60GS2xS1OUCyX9m032FtPI1GUM+TTSkVrq6qs2pOwkLMQxkV2U8+gQJ3KRUo1tblCjmRYXS7eBxHMQrvv0CifxBKY/O3rZpST1XMqjWDTw4BJvsxF0FU0jnSQIw+sHEhXi7dHiV2s9uY= 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: Byungchul Park writes: > Other than skbuff.c might need to check if a page or netmem is for page > pool, for example, page_alloc.c needs to check the page state, whether > it comes from page pool or not for their own purpose. > > Expand the scope of is_pp_netmem() and introduce is_pp_page() newly, so > that those who want to check the source can achieve the checking without > accessing page pool member, page->pp_magic, directly. > > Signed-off-by: Byungchul Park > --- > include/net/page_pool/types.h | 2 ++ > net/core/page_pool.c | 10 ++++++++++ > net/core/skbuff.c | 5 ----- > 3 files changed, 12 insertions(+), 5 deletions(-) > > diff --git a/include/net/page_pool/types.h b/include/net/page_pool/types.h > index 36eb57d73abc6..d3e1a52f01e09 100644 > --- a/include/net/page_pool/types.h > +++ b/include/net/page_pool/types.h > @@ -299,4 +299,6 @@ static inline bool is_page_pool_compiled_in(void) > /* Caller must provide appropriate safe context, e.g. NAPI. */ > void page_pool_update_nid(struct page_pool *pool, int new_nid); > > +bool is_pp_netmem(netmem_ref netmem); > +bool is_pp_page(struct page *page); > #endif /* _NET_PAGE_POOL_H */ > diff --git a/net/core/page_pool.c b/net/core/page_pool.c > index b61c1038f4c68..9c553e5a1b555 100644 > --- a/net/core/page_pool.c > +++ b/net/core/page_pool.c > @@ -1225,3 +1225,13 @@ void net_mp_niov_clear_page_pool(struct netmem_desc *niov) > > page_pool_clear_pp_info(netmem); > } > + > +bool is_pp_netmem(netmem_ref netmem) > +{ > + return (netmem_get_pp_magic(netmem) & ~0x3UL) == PP_SIGNATURE; > +} > + > +bool is_pp_page(struct page *page) > +{ > + return is_pp_netmem(page_to_netmem(page)); > +} > diff --git a/net/core/skbuff.c b/net/core/skbuff.c > index 6cbf77bc61fce..11098c204fe3e 100644 > --- a/net/core/skbuff.c > +++ b/net/core/skbuff.c > @@ -893,11 +893,6 @@ static void skb_clone_fraglist(struct sk_buff *skb) > skb_get(list); > } > > -static bool is_pp_netmem(netmem_ref netmem) > -{ > - return (netmem_get_pp_magic(netmem) & ~0x3UL) == PP_SIGNATURE; > -} > - This has already been moved to mm.h (and the check changed) by commit: cd3c93167da0 ("page_pool: Move pp_magic check into helper functions") You should definitely rebase this series on top of that (and the subsequent ee62ce7a1d90 ("page_pool: Track DMA-mapped pages and unmap them when destroying the pool")), as these change the semantics of how page_pool interacts with struct page. Both of these are in net-next, which Mina already asked you to rebase on, so I guess you'll pick it up there, put flagging it here just for completeness :) -Toke