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 EC96EC83F1D for ; Sat, 12 Jul 2025 15:08:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 29A3E6B00CF; Sat, 12 Jul 2025 11:08:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 272206B00D0; Sat, 12 Jul 2025 11:08:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 18E426B00D1; Sat, 12 Jul 2025 11:08:01 -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 0647F6B00CF for ; Sat, 12 Jul 2025 11:08:01 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 86B13B7C09 for ; Sat, 12 Jul 2025 15:08:00 +0000 (UTC) X-FDA: 83655942720.05.8A170E2 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) by imf23.hostedemail.com (Postfix) with ESMTP id 7F419140007 for ; Sat, 12 Jul 2025 15:07:58 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CfF5gp9r; spf=pass (imf23.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.208.53 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=1752332878; 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=LjapWLaKwEm+cnxI7mm3uoKAqQEsEg4Xa2RcYI/4Fpw=; b=ZB91PJwhsfVpS/yPIGxJWD7TeQ1jecJJuFulVAFcCBcYhxkYinO7T90seylOdUMnYk8sSF PVo1trLoiNSXs0ep9N/ozXGnzkdR1I7EIG3UA1yNE1xA/iIB2mPwwFSsySGGCO3IWCG0Q4 kavIjIut5WZmPoYwMuop4NsIKuoUP6g= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CfF5gp9r; spf=pass (imf23.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.208.53 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=1752332878; a=rsa-sha256; cv=none; b=f2Q0jtD39/Xs2GXVhllXyvYB+T8VlokBU7z+lMm4e0sj1VU1BFdnrlqws0/0Bk9pfU1ZhH yZeJ3CzEHyYIALTTZmDruO/VDVitS7D2QCDNNUmneSQScUsyvBtWZXoK3YsbBkVuH/hpSa hQk0zp9nYSaSxEcVv3lY+mdVedp/u5w= Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-606b58241c9so5030756a12.3 for ; Sat, 12 Jul 2025 08:07:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752332877; x=1752937677; 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=LjapWLaKwEm+cnxI7mm3uoKAqQEsEg4Xa2RcYI/4Fpw=; b=CfF5gp9rnBs3nx8OvMZ1Ae1D+MMpHaQyzpvwTEY4MUZ1q7pUtchdRPJEL72lBmnL8U c5PXhWBrU8uafXJZ2hHNNGy6F6PUd8eAOxo9aXeE7i04whmz51GbgxpD507P9vbyAFy5 IpddJA7uzbB2mZosyOMvtTdJ6as5Pdd80samqrOcBUfylZD/WWd7P5Kj4Vpc++d/wTnd r9bZ+vBs4c1J5vVibOgo1Mo65quOoJc8Dmh9shrtI/++YnK+EC71vLlNqV/7KbNwxmca cxlur2/UsMcOyq4Sz1YQrSg7p5orFoPs9Kl2mqsb7eoF0e/YAnqlGDx50ThbZigjVOiu WKig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752332877; x=1752937677; 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=LjapWLaKwEm+cnxI7mm3uoKAqQEsEg4Xa2RcYI/4Fpw=; b=UrEhyBdQcoWFRQ5xiOECTlKYLU1ij+/tPBgEGhrL7F7bqdclCmzv2hskGossO2N4En 2V23pg7a/U0/XvxOcheg+bTHTdhWLEEM2vJfnAsp50IlwtRHBRXgyFfA1iVv2XA0jv2B BkcIVGyMwLPXPliM0wiAnzDVYdPystuwAgmAgpkeNJS84HyUI5VUd24QQmkBkUgkRw1n w+n8zr12N5nj5H78zzQlb//NklQJ/NjcNx8wM4C0vHdrDJyrebS7lhIsWtt6g18Fq6y0 OIysaI0RiB6e1K22dvtg4/khlM/jnl0qH1OkGdNy0gNZBu7rB6yfLxHoMoCP5MUa6yMS KTFg== X-Forwarded-Encrypted: i=1; AJvYcCWyX/nAilHJPmPxDq2+teIbD37lwHE2QooOFuJPN4H4Kkv8UroY/yL89U7te3oPajTFHJYAzzAMWQ==@kvack.org X-Gm-Message-State: AOJu0YznZKwlEkvob555U9XGbIWEvcDYBgXw0bWtZjtiA0zs/Ac912vZ 78JoMbKnsZjJ3iAspXNH7zGov8VM0MBn4D7SqTcRq296Q3GWqpdGbVJD X-Gm-Gg: ASbGncs0Nd50gXsjE55t8Z4xAHnDUzXaqWTAYXyBewi03i/JAn8wWSwfNE0cVnLpNNf +Mm+SUNjYbRUnxAKyp70l+ueMpx4O4s98vDO1EHayBl4ATvh1mSx8Uafm8i5oFiYF5USZVKw7t8 fKsjwTC99o5P5Y0HB3tz/xvK67MkZYPAaEeskLQxq2b26FfgDcXPqk3qpcaV+Mx77uahBs0azOW JqCfReETHI1mlDKCNrB2xQcSmpRbwT+E2mm9cN4+8ztBWJ5EtuHh7vrqLhBI+fcZ2Anf1VicW6L AbBC+t53ij0mbNKvxkwtLCdoSgtFs6mQDb7rg/ZWAMUNe8FZsZy7HbHfX8hw71OBNbl3tMvGhXi AoDTz+P34LNaFMOeigNbckzVqZ+2GsRE7Zo8= X-Google-Smtp-Source: AGHT+IH0ccXxEaV+aqcSaAvnAzt/69VcEQFX7DWBxvFbG4EKn7IpAxKQyRxv0Ia+9U1NVY8obQDJ0A== X-Received: by 2002:a05:6402:2553:b0:607:f31f:26de with SMTP id 4fb4d7f45d1cf-611e760ac17mr5513207a12.1.1752332876715; Sat, 12 Jul 2025 08:07:56 -0700 (PDT) Received: from ?IPV6:2620:10d:c096:325::1ac? ([2620:10d:c092:600::1:3e2a]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-611ee1716fcsm2181067a12.7.2025.07.12.08.07.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 12 Jul 2025 08:07:55 -0700 (PDT) Message-ID: <7c8b9d7f-545c-4e37-8d0e-39b1d525a949@gmail.com> Date: Sat, 12 Jul 2025 16:09:13 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net-next v9 3/8] page_pool: access ->pp_magic through struct netmem_desc in page_pool_page_is_pp() To: David Hildenbrand , Byungchul Park , Mina Almasry , "willy@infradead.org" Cc: 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, 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, hannes@cmpxchg.org, ziy@nvidia.com, jackmanb@google.com References: <20250710082807.27402-1-byungchul@sk.com> <20250710082807.27402-4-byungchul@sk.com> <20250711011435.GC40145@system.software.com> <582f41c0-2742-4400-9c81-0d46bf4e8314@gmail.com> <3acd967e-30b3-4e76-9e1b-41c1e19d4f31@redhat.com> Content-Language: en-US From: Pavel Begunkov In-Reply-To: <3acd967e-30b3-4e76-9e1b-41c1e19d4f31@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 7F419140007 X-Rspamd-Server: rspam06 X-Stat-Signature: 8xm7ht6gxy1qruphk6dfy71gb7rgnx7q X-HE-Tag: 1752332878-713079 X-HE-Meta: U2FsdGVkX1917BLzKYG8UmoYg8VBRTZwWE57gAJCpOuU8aav9Ya+ENI3P6N7Nc4lGroGRlVhRGy+vG6n38Aiwa7I9BFWRkQy5moym7S7dTFk1Ob3VeG5ALJkusZlWx2GNLFyC1JG44Fy9z1YGjeYw4JiRJbXCHLD5ju7xekZYeu/tiAj25+TOg/+mzQCbQm9qAym30RvS6wBEEBOKK1iIclfOZ22lIQvJ5FqWG5tCyWMGIBfxjUBFdRWM/cuxzE+LHJ91syZjiSMRtV+kZznMQTw/Ar05uOmdtVoIphJgSu7ZbkxIpJG3p2odzsySNzKP+S16216BJPcyy4GZ7WatdYlVqFfr03xlOJ0i7T/vkLWlnEge0HqJfPanaRZX++/NB9vkGcrQ0i/VN1sF59VYaPOITtW/JSCCcRy/2sD3MFXABNvFWPAbrWuK/d9/yAdEVyLfOd9jnJIsP8RdmSd0NRpSlJVK1YVpEXTny2HbtznQskVJ+R9VY6lB1LnUmHq5KxMWXw3+9G4sa6pl4SP9rZ6N7ZIEVKCyPRQYFk8eSBRUeSGC8Y3C0nMoLtKgpcFIXe2+7jaaMrW3eJUYVzsENY0bp8zHKNYcZqPsD7MQgE4MVFNViBXLecxOXkxTjNq0DF7Q/ijv4T8jYbrT4d9fCQRGBddepw5P+UYeDP/WcAZYEY/E0mP6NQQ5HaSuOzePFy2TQLYR1Nvz3pQZm72nafxQfO/kuCWm942VsYR9P/ZtZ+8sw/myqFim6WD26ovl5Yic3AwzDLlSEPDgKEFwkQ/tLWaHb0Tl3infIHkwirC1qVYUXAgnnuJ8Zeb6IONwpMWC77poF5x+Md3as1rmQQ8Q9YNFRxzHeroREJf8LWa8bpwjy2NgmcrS05RDBYjzLCp4FnSnDHYHydmIJ+UjA7+tXIL7TNK3/6bjMMPTzEL5v+5MskD+iAQY9kaajDbjOPRtHnoBnAwAXOJDCI 4nGFlBzV dAHrevmY/S7K5HLq1QzCdTu1CFS3K1exHOI+9v9eS/ZMheqKLBcuMnDgkfpGJVreb3BlV2mqjjrpNk0k0SwBodz0BRavXRPNYUmnRr9dxbkavc4VVTwrw1AeNozTXiLYOY1EebfB9Zr91YadQEXVtFuWEwxNuuR9OCQYQDA/6kNpIu6G7/QXd21L+XmLtCuayAVX4xnY8SS7AzEZXkt8sCffrCQOfH3NxtsMWsMtN+O8Loz7RHYMnCd2Fm+5IFdWMLEM2iJGuNp9uYeD/4X4npIH5kOJ3rJY92cCnNrn4Pf/FmWMN6umSqQqXUsKzhCydk97YAOroacE3qJDahakCSjpgIlvQT9mD0p2G5kMr0nWmdcvEcyYmrv3ijLWqrYd9T1kKreDDsG8maxJ6vS67SB7t8RsW9DPlV9MnHWU2kSJYzeCxSbM6jgZQggGffmaCLAKJzgFIieExNATe+DgEzZeHz1LbvAFF/iRhSqhcoQMFMUby2yMZ9Lu2bXpywCEaKzgw3vygchMLp2ItDyb1QXxOBC6CIBtf9nWPmHDYihd+mNT/86hRn5kf8jHE7YKN2krlZF0K+ie4T5bmkiGxRQSrTUAexHi3kv3Qfc7de7LN9jPwiOI+MNc5+nl/HPowYGpkMVYn7skm8X7TBTiqgNbl/rlf1jl/jxceLrIJyDfmVTfh7wabad/nVNQ8OoKuhQFCSQQdyWocgvH4OXi8TAR6FWpOsth9wnYErW4IHrKw1hpZWJfOcQUJ7g== 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 7/12/25 15:52, David Hildenbrand wrote: > On 12.07.25 15:58, Pavel Begunkov wrote: >> On 7/11/25 02:14, Byungchul Park wrote: >> ...>>> +#ifdef CONFIG_PAGE_POOL >>>>> +/* XXX: This would better be moved to mm, once mm gets its way to >>>>> + * identify the type of page for page pool. >>>>> + */ >>>>> +static inline bool page_pool_page_is_pp(struct page *page) >>>>> +{ >>>>> +       struct netmem_desc *desc = page_to_nmdesc(page); >>>>> + >>>>> +       return (desc->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE; >>>>> +} >>>> >>>> pages can be pp pages (where they have pp fields inside of them) or >>>> non-pp pages (where they don't have pp fields inside them, because >>>> they were never allocated from the page_pool). >>>> >>>> Casting a page to a netmem_desc, and then checking if the page was a >>>> pp page doesn't makes sense to me on a fundamental level. The >>>> netmem_desc is only valid if the page was a pp page in the first >>>> place. Maybe page_to_nmdesc should reject the cast if the page is not >>>> a pp page or something. >>> >>> Right, as you already know, the current mainline code already has the >>> same problem but we've been using the werid way so far, in other words, >>> mm code is checking if it's a pp page or not by using ->pp_magic, but >>> it's ->lur, ->buddy_list, or ->pcp_list if it's not a pp page. >>> >>> Both the mainline code and this patch can make sense *only if* it's >>> actually a pp page.  It's unevitable until mm provides a way to identify >>> the type of page for page pool.  Thoughts? >> Question to mm folks, can we add a new PGTY for page pool and use >> that to filter page pool originated pages? Like in the incomplete >> and untested diff below? > > https://lore.kernel.org/all/77c6a6dd-0e03-4b81-a9c7-eaecaa4ebc0b@redhat.com/ Great, then it'll be the right thing to do here. I somehow missed the post, will add your suggested-by. -- Pavel Begunkov