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 4A06FC5AD49 for ; Wed, 28 May 2025 09:19:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C538B6B0082; Wed, 28 May 2025 05:19:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C2ED06B0099; Wed, 28 May 2025 05:19:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B41896B009A; Wed, 28 May 2025 05:19:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 95E666B0082 for ; Wed, 28 May 2025 05:19:27 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 1561ABB23E for ; Wed, 28 May 2025 09:19:27 +0000 (UTC) X-FDA: 83491768374.23.7975DF9 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by imf17.hostedemail.com (Postfix) with ESMTP id 124A74000A for ; Wed, 28 May 2025 09:19:24 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cLmhJoB5; spf=pass (imf17.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=asml.silence@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748423965; 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=wlRiXiMydg8Ng6zdXcXHZ9C9WqC7917J7z9TLlV4E6Y=; b=k6bLm4mdR2EvDukTdHxlsh38gjD/0uG3fwVELpvIQjCAlcAru2Jm3PAl0WCy07VJPDCpR8 nqrXvGDTjxBPMMNN+avYiJuvCnBkmD8cVccXaveuditpiEFu33jyk7fsCAI4rWXsVmIE0t EV8H2j79tDLyWlpIyTA7UGWb9ldR9Y8= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cLmhJoB5; spf=pass (imf17.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=asml.silence@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748423965; a=rsa-sha256; cv=none; b=Xj+blHMy6ii/AjNnEAFLTCNZt/IzzqPvzGFY13S/yO+C6oOvBvzZ6945VeloGgACmYFSkb gc5kCX4HgL7/HE0nD/UuXCAUfekR5ieyPBMsEh+LigLfY1HYqb/qKkEKKSs1FWL1+AQ4Eh YBAMmb+CNpOsJrPfFDWjVPesRog+sKU= Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-acacb8743a7so116225866b.1 for ; Wed, 28 May 2025 02:19:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748423963; x=1749028763; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=wlRiXiMydg8Ng6zdXcXHZ9C9WqC7917J7z9TLlV4E6Y=; b=cLmhJoB5XWwzPMaPX/IeeseuGuuHB3dNWJggoMhh916DKtlPrrDwXC61hfTMbPQYlv 5NLWxndMxSQjArwMt6EVRuwGNXTb8iLi03VcPyn9uF+MKAThXJ/UQy8ZKdt0SDFs3byO RZHs5WEUBykxUblgUwrXO8afHc/oFT0lnV9HlMBXFqTpjcC0p1LpQKguzt0+VJztVq9d GHOmdKi2aNzw5j6qIjQivL0Uk1i6TaeYFESp1Qpyt+zALwOxKMcPi+fNfI+UpqKmxPlx pI5w2lpfu6ZN68VijDfVfPJ+HgLJ//jg308QIe4zG0xTOmz0m7Q/H7IpZy/YX2oJPKNE YvHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748423963; x=1749028763; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wlRiXiMydg8Ng6zdXcXHZ9C9WqC7917J7z9TLlV4E6Y=; b=VkRXr4Y6Jd6iRdidqsIsYkWcLClmkPO8MSAdPTnWNa9BY+mbwQtE8OsZXxM4YvaH2l MKp2GZYxsY5Bh32VglMdozQf8JpIs+sJ/eUpEYM1opQjDyg2U3GPpdQw9c7F+JhvGTrm rdQYCRPNUPZNxP+3upnRM44dCUhjI2SABGlb2Qh7NGoLqI1GEVezvPVvCDoks4uc7yHk 1B2fh15bDf3hPYIXv0cQi65bQlCj2uLo6xZlbwcZLozRPKHjdu3OWAecrxIFVT8UDLDJ q7EvB5U6NWp/NofEbP0dpzTRYF28i/mpWZOP8xHXKsRuBtLhV7sahz0wnZWeP4hx1Lp4 9fpg== X-Forwarded-Encrypted: i=1; AJvYcCWyD5SvqLvQ2ILFU1eISs6q5oddP1wzLVe441/jvo0BtyQTfjsYovtmeG6JMiE+umxeoGIVWN1O0Q==@kvack.org X-Gm-Message-State: AOJu0YwqYh3+LgnPahOGtElXClAZ4U6bW7j5j0ku+kJSLB4BXZ0sDtFa piNiMxefJf0ua6MoHwgvx57kq5sL7HR8Vc5xk08b1cFFnava+m+jtEeu X-Gm-Gg: ASbGncu8LEIXAHclZMbnXApqIojomxEgck3gDt0fHc8GfcAkpUOWVFDXBdSL0DZtYj3 wexGOqYyOE2W7jf5QrT61Y8CCSWHwJ4ESEeQ26GcRpjud+K7Mbl6BiC0MclQohcm58M7CSSCdQf jkohLb1NEq4RVHeoV5FMITZhilBw1vs7KTOe5sBmi82fmyXuo5AKk6euyoxMIuYf8HCwbugj4HS wXJBMx1a/0I3XWuaZuwGh6UHyeElfPVfmCSdmUndFSd2P5USU0wS2yv0jDdlQk6IU8cmUYL/LdN 8uHZcfWENb21PXrbGbjYeZOi1e4ld80pjDcRuG5d0I0nukVJreEcmf7gtuUzNAGe7kBpanAG7A= = X-Google-Smtp-Source: AGHT+IEq6tM8RdZXXvDSkGfL6LGlhKbzABi9NzIAuOCCNVVdVvH3+0hfCaQJlqqdguwEgPZkuM1QBw== X-Received: by 2002:a17:907:7f91:b0:ad5:4cde:fb97 with SMTP id a640c23a62f3a-ad898a1de29mr346968866b.29.1748423962900; Wed, 28 May 2025 02:19:22 -0700 (PDT) Received: from ?IPV6:2620:10d:c096:325::6f? ([2620:10d:c092:600::1:c447]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a1a1323bsm75303366b.84.2025.05.28.02.19.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 28 May 2025 02:19:17 -0700 (PDT) Message-ID: Date: Wed, 28 May 2025 10:20:29 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 12/18] page_pool: use netmem APIs to access page->pp_magic in page_pool_page_is_pp() To: Byungchul Park Cc: Mina Almasry , 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, 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 References: <20250523032609.16334-1-byungchul@sk.com> <20250523032609.16334-13-byungchul@sk.com> <20250526022307.GA27145@system.software.com> <20250528081403.GA28116@system.software.com> <06fca2f8-39f6-4abb-8e0d-bef373d9be0f@gmail.com> <20250528091416.GA54984@system.software.com> Content-Language: en-US From: Pavel Begunkov In-Reply-To: <20250528091416.GA54984@system.software.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 124A74000A X-Stat-Signature: odb1y4cbyeeoi9b194aszexyac79buhy X-Rspam-User: X-Rspamd-Server: rspam04 X-HE-Tag: 1748423964-154068 X-HE-Meta: U2FsdGVkX19SipVMv696HHVDyCrh1Iuo4QDDcSSc8BrbeF3uM6DE1T+xVFGnqdb0vX+FJ9MhCOotwhVBpWInTEcLTlo9JBkn3OU5tzszsyWdVB5sgqRdXxfnWr2ne57bH80BLF3f9hzwjJeCg4Qh7o+7+WOk7RNhx7W/HqNzJJpllMTdh6zdSbdU8Iw+DdNBRNgUbIvOeEgrUlMSrxPuOV6Aeux6CqGJjLGLTN5dFvx1ThLhSoFomTZp8/0cCSpPbmkKj/fu44J309dFdLmRpVQ6dhXEP8D0UEYl7SURV6AnT1oKpYpQcSleXe2dvFv0f1WDzsxDNcIv4Mu0qbXgCvd3g7wkILQVFzI/JvxZy8TUOULqGsKAZnlM6X4wfFhYlCJ+JutdmV4xudTO21XMd3hMFYkqoWoMZKYQAwfj05oiR/1oaWFoiX6luhGmRYtPkakhZm6crjeaerCRFOy4Z/eOzErghHLsDB0Q0thj7TJI14pa1EsQYeCjlyNau1/CTQCsCbTAWUKUWbJDVpo35L1so6uxfpRb65N+c5J5GX3ccnNhK9o5ndaJeapyLAEmuk5zOQd/X73s0qg077KSKO8/6GLEoZi8aHE04v8HyqgdxQjh9UMyuk5GUY1tDJs2Kzjd26B9Mt4GTi1v0JBJJQi39HBOjECI+kcvd7jN0UafuUgecwOulPMBdkdKHEHR571LichdMP1aTFlx4epkKY/XkDpMv1hGSzk7cWXm/sWBcLXztFkKw8nFjQLQwO9jFRdSh98df8uNuQ+POEG7biVOSP3d4AXdG+mnBHyznyxfBPBN30cOJ1IDVZOw3QZ3RfxBveUK8Q6eqXTZA/5koEMI26QMR8RmXoH92hXRBbzOuIzWVhFpk2WhRaMLzl3Jqoww86yDK8E8tUYkiraNSN/xVvxUDZ4UWi3hHHKa4rRrJXP6hyDnG0waMor4NaAm9aIOae1fZy2/NkZJbpH 6IR8YwT4 9o1LyBMTrN7ZkRh4IfcKaOCBJFp77oaGT0WmpXt2eKhGaIXrhPilgHcvlWPR6G+jL1scH057QOOlymH/oHUSSnyhj/HV8JbxXofOchu1zL84FqirYkhUWJA26XYJlKuUOzvTN3QkU8oOAQH4GbZ9Up2VOwzHz8qlz4z+QRGyyFBMZ1wpDQeVPduY3LdS3/CytL1FgjoBDXyw8sg+NCFWBo7xM8XhPog0Zgklt6zQ0Duub2+TMKP9LOvvp+9Q1V8hlL0dCmni6OlPeOfHMFNmBI6YCkBhEVObHiItF3kGZeGpqMz52qjDmb1/I1qJcteYpPvMeO7ND6jb5vi3fyZ2uufIy+mYqvX5IxKGk9D/XCs+18DwZSa196ddP1lbxo1mL8YiZvHGOkJqaLn3fkVPk0W5VqiVTXIJZgADXlX2JxDDO3xuFDJolA8EopYl4bMzm2SueN7Eq8x8qQo0hpeDQwR9mWURLrhtODaEClX9eLPgGMYOK5wbF0o+Vw+IvC/ZiJPZ4xBPd/XnluHX/sMt+CGLrbf0L838pG+lZJH6w9acgDhoSUDv+6wB76Y9GW8jOVoKtMVn18SZeljN7xdy+7ddxbaqzkZt0C1YDWQ3DI3PKJJ3nHX45hU0hNFxwh4gq0C3u4FVdW3d5B9bpxFq3JmjlPTtZn/3hrvAErUNBwfb7AOwz4O4vWCSOND++6AQ5GRL+S5TLGVEO6qVPuzgJNikirKlHUlb4jQu0A5a4N3w4eP0= 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 5/28/25 10:14, Byungchul Park wrote: > On Wed, May 28, 2025 at 10:07:52AM +0100, Pavel Begunkov wrote: >> On 5/28/25 09:14, Byungchul Park wrote: >>> On Wed, May 28, 2025 at 08:51:47AM +0100, Pavel Begunkov wrote: >>>> On 5/26/25 03:23, Byungchul Park wrote: >>>>> On Fri, May 23, 2025 at 10:21:17AM -0700, Mina Almasry wrote: >>>>>> On Thu, May 22, 2025 at 8:26 PM Byungchul Park wrote: >>>>>>> >>>>>>> To simplify struct page, the effort to seperate its own descriptor from >>>>>>> struct page is required and the work for page pool is on going. >>>>>>> >>>>>>> To achieve that, all the code should avoid accessing page pool members >>>>>>> of struct page directly, but use safe APIs for the purpose. >>>>>>> >>>>>>> Use netmem_is_pp() instead of directly accessing page->pp_magic in >>>>>>> page_pool_page_is_pp(). >>>>>>> >>>>>>> Signed-off-by: Byungchul Park >>>>>>> --- >>>>>>> include/linux/mm.h | 5 +---- >>>>>>> net/core/page_pool.c | 5 +++++ >>>>>>> 2 files changed, 6 insertions(+), 4 deletions(-) >>>>>>> >>>>>>> diff --git a/include/linux/mm.h b/include/linux/mm.h >>>>>>> index 8dc012e84033..3f7c80fb73ce 100644 >>>>>>> --- a/include/linux/mm.h >>>>>>> +++ b/include/linux/mm.h >>>>>>> @@ -4312,10 +4312,7 @@ int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status); >>>>>>> #define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL) >>>>>>> >>>>>>> #ifdef CONFIG_PAGE_POOL >>>>>>> -static inline bool page_pool_page_is_pp(struct page *page) >>>>>>> -{ >>>>>>> - return (page->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE; >>>>>>> -} >>>>>> >>>>>> I vote for keeping this function as-is (do not convert it to netmem), >>>>>> and instead modify it to access page->netmem_desc->pp_magic. >>>>> >>>>> Once the page pool fields are removed from struct page, struct page will >>>>> have neither struct netmem_desc nor the fields.. >>>>> >>>>> So it's unevitable to cast it to netmem_desc in order to refer to >>>>> pp_magic. Again, pp_magic is no longer associated to struct page. >>>>> >>>>> Thoughts? >>>> >>>> Once the indirection / page shrinking is realized, the page is >>>> supposed to have a type field, isn't it? And all pp_magic trickery >>>> will be replaced with something like >>>> >>>> page_pool_page_is_pp() { return page->type == PAGE_TYPE_PP; } >>> >>> Agree, but we need a temporary solution until then. I will use the >>> following way for now: >> >> The question is what is the problem that you need another temporary >> solution? If, for example, we go the placeholder way, page_pool_page_is_pp() > > I prefer using the place-holder, but Matthew does not. I explained it: > > https://lore.kernel.org/all/20250528013145.GB2986@system.software.com/ > > Now, I'm going with the same way as the other approaches e.g. ptdesc. Sure, but that doesn't change my point -- Pavel Begunkov