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 E2D35C83F35 for ; Thu, 17 Jul 2025 09:15:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4B0256B009F; Thu, 17 Jul 2025 05:15:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 488716B00A1; Thu, 17 Jul 2025 05:15:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 39E436B00A3; Thu, 17 Jul 2025 05:15:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 2A6AB6B009F for ; Thu, 17 Jul 2025 05:15:59 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C9B0F1A0665 for ; Thu, 17 Jul 2025 09:15:58 +0000 (UTC) X-FDA: 83673199596.16.D9F9B58 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) by imf06.hostedemail.com (Postfix) with ESMTP id CB389180003 for ; Thu, 17 Jul 2025 09:15:56 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fpeuMiLS; spf=pass (imf06.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=1752743756; 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=XuQuLev07eyWeKHWKCNdTOJWBDIr2mJkHs95ZW2/jJQ=; b=yPfejL9kl5M+JVLUnbJFwhAXlFIjX/3g9bLnb4pDqoX4TRpUGpUdCidHxh2Oxa+crKSBZH KFtZkSFg+P45fo9/MeThGPiHN0Wi+1yVz/QXpeC58EhB0F1uy0Mb62d4ipTeCJBY9HJHpB WsNeiQb+PDgHfFiOUBOoi7841NfS1N4= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fpeuMiLS; spf=pass (imf06.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=1752743756; a=rsa-sha256; cv=none; b=cBHTKgmoOVeuXyxAP0Sa0XLSMQZKLlaneQHq41QErhzc2eZhMxhpdPs5D7WhhPmnjLKzLB 4oMT83FOQJkLyTVv5vWM8b4UQZxor5Oy1JVbDiHQpoZc6/pzprfNITxgPCqR4CdVrDf44q yKCtrosXxhPliyC1vcgoxBqE4EWL3Bw= Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-60780d74c85so1232612a12.2 for ; Thu, 17 Jul 2025 02:15:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752743755; x=1753348555; 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=XuQuLev07eyWeKHWKCNdTOJWBDIr2mJkHs95ZW2/jJQ=; b=fpeuMiLSrzMXReNjq/RGoRRgWaUgM4/z9D2xT9wVytUnaG3xiu8fTWhp4aCUbYTBIr X6RZWkeEfRNZgFKRSsYY5q0zGXVS1CSDh38DypTP9UqkxR0FdSll5nlbbd3az+Xk5zBv ZVxYwXGmSHxQpIfWKMsd+LQRSp5haVNCBD4JiWt7+X7XXwgUvbBab2UBnAy5O7TM8gPK IW5e9YYbxhxCjFUC1YH7NwPvJttqp6qpqgzoq7xxjdf4CpWtVGuSZv5LsdVEgIf8QHbK JmeQI4Ticvn0LHjM6nYzA3uZBMzOQstT921ESqb0fLBKkB4gBrmU8Hvt2r+u7pJER23j jGhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752743755; x=1753348555; 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=XuQuLev07eyWeKHWKCNdTOJWBDIr2mJkHs95ZW2/jJQ=; b=efhzTRjqoK0YT3N9pc+ApJE9jPnKGNP1F5zafv97PAi7r/yzxDPDcmPWJUmctX4jK8 YGbE02WfDU7CRLGeZtwBamBNfavdXygij0S5vZ0w+JWhLfQD4tukcs9xw3dJzqgr05EK QdhTmS84i4wCP/yBb1UqyyxWHz9kE8FEwkn7Rjax55YLmBFHHc8RNjbxp2FdvYfpVNAX JhddrhjPqycEI4KyzY1RPTAKzleB/z98NvoKh5O+p7u0X5yVvLYVcv7hEYYMfX+egQLn 65/rKanBT4/vF89bBAubPmDm6MtZYBvM3+OltS1F5cb9+xBnAd5EYmJYbkMat4oJNCmB mEYw== X-Forwarded-Encrypted: i=1; AJvYcCVJXNGgm8S9cWDUR/DwKrw3fQKTmpMHVCZeTjFq79te7J1vddgi8Li8jA05iB8vW6wm9x7Rtek6Wg==@kvack.org X-Gm-Message-State: AOJu0YyRx/QsC97m5Ek69Eb79PuAmczZTyuA9OD7/9KjXkAa7fcXzpfg IH34ffvhIIosROjfynRCg2DB0GkY7KKRJOPwO7TbeZmOy2XO0tnxBlL/okMnUFWA X-Gm-Gg: ASbGncvdumAoyO7HjAcvjwJTzRa86RsoNuD0YADBZeLFjxHZUSLfAXHI6cj+bEGLAB7 89QL4QyR2TIsqKXO8anp+mmK2F0Q2ttkZNq90uyVbO125ZsStOuj3qfv3o/kb+lyNraenfGMRcC MbToX6W62tyyYLTfM5tueV0RtNdA4YxOC9o6YxkVYppPJbP22tSSV1Tve9AoiOuBS4X+pUeuncN Kru/fqwqN5JGuqdIXsKO9ihGorvZK3AJFH+bKIrLoa9hjoJmsQoSm3GKERVKSBmNvoWOp4vADri oSY/IVcFrZ9Z7CUj908hhRUuHvQXV1vfxxQnEHJpN5yWNzwEo4DJvwzopuK1cHLsh/ZD4OYs9qC mCCvDbRUcHdZ8xslk7ipYHS3wGz73iztoA98= X-Google-Smtp-Source: AGHT+IEBp5fKU5jFwU7T/e+ghWZTAi9JtfLyT40aPkuCdbIfMXgA11Q2utS7ZVnD76C8XR+vIqhT6w== X-Received: by 2002:a17:907:c290:b0:ae9:876a:4f14 with SMTP id a640c23a62f3a-ae9c9ba50a9mr629028466b.59.1752743754656; Thu, 17 Jul 2025 02:15:54 -0700 (PDT) Received: from ?IPV6:2620:10d:c096:325::1ac? ([2620:10d:c092:600::1:72cc]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-611f7365c7bsm8194693a12.62.2025.07.17.02.15.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 17 Jul 2025 02:15:53 -0700 (PDT) Message-ID: <6e4a4ae7-b84e-470d-81e9-a58ecf9c9157@gmail.com> Date: Thu, 17 Jul 2025 10:17:17 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net-next v10 02/12] netmem: use netmem_desc instead of page to access ->pp in __netmem_get_pp() To: Mina Almasry , Byungchul Park , "Lobakin, Aleksander" Cc: willy@infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel_team@skhynix.com, ilias.apalodimas@linaro.org, harry.yoo@oracle.com, akpm@linux-foundation.org, andrew+netdev@lunn.ch, toke@redhat.com, david@redhat.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, mhocko@suse.com, linux-rdma@vger.kernel.org, bpf@vger.kernel.org, vishal.moola@gmail.com, hannes@cmpxchg.org, ziy@nvidia.com, jackmanb@google.com, wei.fang@nxp.com, shenwei.wang@nxp.com, xiaoning.wang@nxp.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, anthony.l.nguyen@intel.com, przemyslaw.kitszel@intel.com, sgoutham@marvell.com, gakula@marvell.com, sbhatta@marvell.com, hkelam@marvell.com, bbhushan2@marvell.com, tariqt@nvidia.com, ast@kernel.org, daniel@iogearbox.net, hawk@kernel.org, john.fastabend@gmail.com, sdf@fomichev.me, saeedm@nvidia.com, leon@kernel.org, mbloch@nvidia.com, danishanwar@ti.com, rogerq@kernel.org, nbd@nbd.name, lorenzo@kernel.org, ryder.lee@mediatek.com, shayne.chen@mediatek.com, sean.wang@mediatek.com, matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com, horms@kernel.org, m-malladi@ti.com, krzysztof.kozlowski@linaro.org, matthias.schiffer@ew.tq-group.com, robh@kernel.org, imx@lists.linux.dev, intel-wired-lan@lists.osuosl.org, linux-arm-kernel@lists.infradead.org, linux-wireless@vger.kernel.org, linux-mediatek@lists.infradead.org References: <20250714120047.35901-1-byungchul@sk.com> <20250714120047.35901-3-byungchul@sk.com> <20250715013626.GA49874@system.software.com> <20250716045124.GB12760@system.software.com> Content-Language: en-US From: Pavel Begunkov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Stat-Signature: a9ukewj64w5b77be4wf4rsh4ibokyc3a X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: CB389180003 X-Rspam-User: X-HE-Tag: 1752743756-965327 X-HE-Meta: U2FsdGVkX1+qY/Rsz83TobDtUlyeXUPKU66T9662G6jfLT8sV4lOK6DbS726hJkMcSPfzkOjHTCOOI8B1q2g7b5BfDjTlrNCCghuZhU2EAG9QVZYAdQLjdWZUwCh58FEI0YDglXojnF3n3zGmUbLMjOOd7BMS/xPAEZ2tTLeEbjvrdnJAA5fW3EKgtsJqQwQqIPypde+4sUM0Ng0g+DZvKFkGB9feRrkuAar4CGda4AsyU0cL6v8A8hjLNpvGPME0aTaKUzrxwk/2ozF7XN4Qgghnlhc61Vx4adHjC+T0O90f55FgMmuyKl+1gdoKc3EJLHAgjPM/psV3+fTzUqy7t7uXVLXhba+FA4FbFbLDqiyCCLOEg2dSHVytKceg6AGLN5lLhmqkLrKD+1nwnIl1TS7wQAz3lwydnGj2QxlpdQjRKFePCuHETfvXSNmaluPgqyHLDa/MgtBsKvYpY7WPEOpBZH9Ey1OmfWP1ccn9XqLmCCUItj27e8GX0dr+HNqz6yhxyGDwpyyODUQQaefJaXBVQqJOOcbmqVYd0PWDR72Dh3rLfEXXMn0WnD6zq3w/1RLi6mGeoK+nh9WMqJKjTlfy1nZCAQm7swiGwXfmkgOifxMXVlqQSo1u+7r5kZ5T0rCfmLR4+sEFEDdt12ks22L/Kw/6PmG0Q0o1Lnf3PVKkpiW3UOF0/t3uoZH7II1xKL92s7+Ltf1dbyDrU5cjah6aBje58K/bl3RRBDrZaU2nEJtz84aTFQUUJOvWsd5fwm9kDkLTdUj4lQ4SuqZwjkAr5smIWn6KP/jcZOpqHZHVsXZN19pxa8fjmv2l4U1OihUZ2noJGAPsmyanM8N3s5W+URJQ6Y8gHUTwyPTVm0sqdCu64fI53DDVaBGVOy6Y1KgCS+hb7xbIMhTztxMQUVVwPBvhDTCJevL8LvuGeWTd8sjXFGQV/w080ilWqjMng5ynVW5RrpJdlhzoP/ 4aPsEuKq pvmRDfJQ/Rff7CDmX+S8yv7CHXZDefsI7BrhkmeFzd6ldyuKCTmzzYNzgDTS+oKScXJU/R+W6ac/9rDt8HFfKfSkcLGPWuo3tNjGwOeINlgnrgpg9iE1GtP7KiP5hxF6V7/lanR7WFmei2eJS9iboR5+CrO3usujYuwWu23NL8Ol8v9McFjH600CCBL4pJ+RynGWlJGY49kpgvOiuOlWStHQyQMFVo9pbQFpnBaATgfKMKkFNrPO5UNOUaEg6xarTD8qVt83J/K6sxmSdyc3Nr35USoZw84frRRKZCMNsam4vYYEVsflwyNX6XwdjmWCCLxsG/sWQ0AEbPAh882YTX2CuJV3DxxgyVGOktxdNJvbxwmFuGfUfnfcvM0T2pxXvfjsUlS9e3L/c8Sqr/GYd8djqUgxyxkngH59PaEls25Z+XHqN9oFbyNT1LeryGCGo9IvzpmfV/BE7lXGU/I675ZQqZd3TFVZwYC2pgDIy0DSb1a5XnR0YGpXQIJFEUtY8TNuDrOWbuSG2XwLkXIfLxaKvCoJZ9TXsN9IzXDxQ4MQfTP3XAmsqsrVbYZ5sFv1RmSKo+9YGPK+Wxs2aJ0ClcXqJ78GTlZMRDjYYskXa92yvzvT44qkTxDaeINYZqe58GvuL 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/16/25 20:41, Mina Almasry wrote: ...>> I will kill __netmem_get_pp() as you and I prefer. However, >> __netmem_get_pp() users e.i. libeth_xdp_return_va() and >> libeth_xdp_tx_fill_buf() should be altered. I will modify the code like: >> >> as is: __netmem_get_pp(netmem) >> to be: __netmem_nmdesc(netmem)->pp >> >> Is it okay with you? >> > > When Pavel and I were saying 'remove __netmem_get_pp', I think we > meant to remove the entire concept of unsafe netmem -> page > conversions. I think we both don't like them. From this perspective, > __netmem_nmdesc(netmem)->pp is just as bad as __netmem_get_pp(netmem). Yes. It'd great to have all of them gone. IMHO it's much better to let the caller do the casting so at least it's explicit and assumptions are not hidden. E.g. instead of pp = __netmem_nmdesc(netmem)->pp; It'd be struct page *page = __netmem_to_page(netmem); page_to_nmdesc(page)->pp; // or page_get_pp(page), or whatever the helper is That might be easier as well. -- Pavel Begunkov