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 A8D45C7115B for ; Mon, 23 Jun 2025 15:25:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1A0956B009B; Mon, 23 Jun 2025 11:25:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 151946B009C; Mon, 23 Jun 2025 11:25:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F34AD6B00B7; Mon, 23 Jun 2025 11:25:51 -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 DDC246B009B for ; Mon, 23 Jun 2025 11:25:51 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 64CE6C072A for ; Mon, 23 Jun 2025 15:25:51 +0000 (UTC) X-FDA: 83587040502.23.183ECDA Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2071.outbound.protection.outlook.com [40.107.223.71]) by imf25.hostedemail.com (Postfix) with ESMTP id 36C2BA0014 for ; Mon, 23 Jun 2025 15:25:47 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=b+jgEPVh; spf=pass (imf25.hostedemail.com: domain of ziy@nvidia.com designates 40.107.223.71 as permitted sender) smtp.mailfrom=ziy@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750692348; 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=rN24WDTR2G0ejj2La7+MVVsA4KmDVTMo2ET3Suvm6TY=; b=QotSs0P6KBtDFFlGHUZ4hyIrgmjEeDdNDE/4fa56mbCPMvsfWZB4DlZifJCm0QbMkmrQZu EeXicCPDPc+sjWkis3aEMIKlJPavxvMjB5QDCsXoZrBuvqSCmwasF44pWv5RlTVfML+YLG u/8OEwZRhxTne4J1rOSudqLahR3pe24= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1750692348; a=rsa-sha256; cv=pass; b=VtVi5GQHP1yc9JDMdSZpy6u4WxctWViEcZFUkBzkVz3u02tCozSTtwVYSk6HIQKXnAbvEc BX5CjRGeGaUk9HcYo+YvSIo3U9tYwiGE2kV8o5/do5G0IomAOmUoehkfC+DOdIcb8Ewwaj 2H4Zj3Z/+EcGFDbCGW58p5+L7qEAjT4= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=b+jgEPVh; spf=pass (imf25.hostedemail.com: domain of ziy@nvidia.com designates 40.107.223.71 as permitted sender) smtp.mailfrom=ziy@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FXKOrbthvfdZGLiEWQfbBJL3twNyvbQmCykKx2N8odqWQ7gCLGyDRBCx+P6hoq0HRfeJud0EH749/UsvIQDniqtn4ZZ+1qKszpjIRXKCxdn7jD+iKMP5437QFtIH5aj3qbjW65JU7HksiIpY6nLlGliGj7Bbz/fi1NclIEHNHY54BqdMGnPR5l+ZUjAzr0+6ZaAu7t9lfnfujN+tXYyTM+vYHlrllt2QAetSwjGd2/aomrRiC/tPr2Y/PaQazT6b5CIVxIifaJVuJzOJzGc4JGUrNbtLrp0aXq4y1gAqhsrdxW5CBt0dQHIBsGEphnFij0Pd+MVKFMVCj0a5mszC4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rN24WDTR2G0ejj2La7+MVVsA4KmDVTMo2ET3Suvm6TY=; b=oNnYxhRRIqshdPluqw+lgwjInbrYzw0OdFEw8XWU8EZ7T55evaMejkBV/g5W5FKYl3oXz++7uI2xML/1r/Wl+Ab0vKCFKwG+D8DBQ9QasbZBuWP9lZ5sehClF/3zJJc/2dLrFV7e7pjIMysXykhk7CUJZYRnxFZ13SYq5oKT2l0dL++gTyHewJpwQOI/PvvYNERmTCBQqsjdZqXKmYrK07xO7hHBtvLh9wyZhBKK3VKZ1bozEFTUd5OVGTuTb1Lh+VFkBvC7fJvKOLcoPP1gLoRqjHFBE2dBXYnX2NXIPaZyyw5hUkh3dQ3CoytUpNSNGgofT6pC8fJ0+Hf0v+Jghw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rN24WDTR2G0ejj2La7+MVVsA4KmDVTMo2ET3Suvm6TY=; b=b+jgEPVhAGonsbU8e2fs/u3sKgjYvcwY1K5GLACqANc1C9GIyy7eo4EMWOkLSdm8HZ2gF09f2+2QG2MQuOxNg9Hf59qX9BBJKEa7vl7DH6/vIMeZaJxK+RfpYnFizFpFJli3jhJhbsFVc64ltPp5JGzoeB/hZ1ZSFKhv+iD8EdObuSDkP30I8kwgMm+pMoDSuYPQ4RQhgbvq0/t4Grvp3vko422oZDoLW/jMUnZCJxsxPTT2N/GdiFy/JMUpTurvGghoM8ocTC+C4KpxX+ErrNSc7A2HG0IHXVDoeIkW/JLaelBU36STQ1B86kqKQGiK4HlExK+stghw2lfNr2rpoA== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by IA0PR12MB8746.namprd12.prod.outlook.com (2603:10b6:208:490::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.25; Mon, 23 Jun 2025 15:25:44 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%5]) with mapi id 15.20.8835.037; Mon, 23 Jun 2025 15:25:44 +0000 From: Zi Yan To: David Hildenbrand , =?utf-8?b?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= Cc: Byungchul Park , willy@infradead.org, netdev@vger.kernel.org, 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, 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, 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, jackmanb@google.com Subject: Re: [PATCH net-next v6 9/9] page_pool: access ->pp_magic through struct netmem_desc in page_pool_page_is_pp() Date: Mon, 23 Jun 2025 11:25:40 -0400 X-Mailer: MailMate (2.0r6265) Message-ID: <42E9BEA8-9B02-440F-94BF-74393827B01E@nvidia.com> In-Reply-To: References: <20250620041224.46646-1-byungchul@sk.com> <20250620041224.46646-10-byungchul@sk.com> <20250623101622.GB3199@system.software.com> <460ACE40-9E99-42B8-90F0-2B18D2D8C72C@nvidia.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL1PR13CA0088.namprd13.prod.outlook.com (2603:10b6:208:2b8::33) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|IA0PR12MB8746:EE_ X-MS-Office365-Filtering-Correlation-Id: 7c5f7040-f9dc-4104-2726-08ddb26a389c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?enpxQXlqU3pnSGxSMk5DNjhZMmxaakNrM2pGOE56ckoxQXFFN0JXbEhlK3Bu?= =?utf-8?B?NGFIcTYwZFpDVkpZWitzN3VqdXdBRjFTUE1ySWp3eEtJSDJvaSsyd295YVAz?= =?utf-8?B?T3JIRy9xZ3p5SXBZd05wQ2Y2SzZtL3BCRm0ya3dCa1lvSnJJTWtpbTVqSkp1?= =?utf-8?B?V2lITzh1aFhYUXovU1Q0NWk4L2dyZHRGT09vcFhyaXJaVEtsT09VSGl4VGll?= =?utf-8?B?OWZKSnplc1psbFltVGdDTExwSWJza0UyUk1PYXM4RXlYVzZFeEFFUk1OU0tm?= =?utf-8?B?dERqNldUSG1XUFBqRllwN1pOZ0hFMFRwTnRhMXc4NmI3SUN2Sm9OOVZiUGdx?= =?utf-8?B?amhHL28vd1lJdHVRQStWUmxrZFdvZEYyWU0xb0RXajlhWFBNZ09FbHZqcVhO?= =?utf-8?B?azk4akhHa1NEdjh5VU5MSTFyZ2pFSWxiRnBSelZxWFk5RVFrMHZLZTNPQ1gy?= =?utf-8?B?U1ZTZEU3VzhlSFhtclFuaWVsWUxIZkZTeVlqa3VKUTZJTC9SU01MbkVpamhH?= =?utf-8?B?YS95b2pyWGFrWFpoeFVnUGdrbFp5K3NESVMrT0dEN1RFVzFsUDlGTWZWeCsv?= =?utf-8?B?M215M1JQUlZWWDVkajZvUEJsVUpoR01aL1J0ZzM2cG5lc1VLbURHSDkwV01O?= =?utf-8?B?M0xTem9ZNjZwd2gxYi9CWklLVytjZnVOWXZuQSs2UUZ0UVlaRVB0djVoUXZ1?= =?utf-8?B?SVpUZnh6bGpZZ3c3MlJSSWQyMk9XMzY3ZG5NRHhjU2hpdFRtN1JmSVF4V2lE?= =?utf-8?B?NWtjaXJMdmZmU203azRyUFdXU2dQaW43ZTJCODRpdnRxVmxEbkxkRTk4Qllr?= =?utf-8?B?cjZ1T1dOL05IckF4QmlUQ3ZpYk1lNXdoVkVjZkdIdU1TemdIR3Q5ZVNhQW5o?= =?utf-8?B?TUxvRFphY2d5SHN5WVAyYlhqUDlJM1JJaWJrZEdaOGNjakw5enl6Nzk5Njdu?= =?utf-8?B?dml5Q3l1bDlCYVQ2TXJqTXJFa3kxTFhsSzRpdkN4QUJYMytyaTIzeXJ0aFN1?= =?utf-8?B?MWZoUWI5VTVYeVRQdWYvZzFvaEhxQ3V4TTZxVXkwbjdGanE4Qk04Yk9rbUxC?= =?utf-8?B?V1MvVFp4azh5Mi9Zeml1NGdycXdvZE1Pa1R1bjFUVlkzQkN6WXpacmdHeXZx?= =?utf-8?B?NEdRMmVUS294anRpQ1dobG5zMUNkRzZPRG4xVS9RL2IxVXQxcnZ3Z1VhWU5X?= =?utf-8?B?V0hKalhwYjB5RkRnM3VUTlZtc0hpY2ZMRGxTT2NURHIxYkxsTjZBcmx4aGFy?= =?utf-8?B?WlJxN1JHSkpxUFFuRFZqY0Y0cmxVWWc3N1N5ZmU1bGt6UTFJaW1VbnZFUVFV?= =?utf-8?B?RUYydmFUYlRSVHdkSllFY0dTVWFqUFJIWDVJRnhIN1JCbnAyZXJIT0NGMEo5?= =?utf-8?B?KzJXWEtobTJvRkxJMHgvWEwzL0o3VFVtdkNHa2NPekplWW4zcnAvR3MyMWpG?= =?utf-8?B?T2JrMGxvZGhOdmZDSDc3NTQvOUllSEV3R25vVTU2dUI3WjgzM0M1NFpiZnh3?= =?utf-8?B?aDlVTzYzQWYyZjZvYk16aUZPZStjVUxTcFYxUXRuYmhOSzd0SHZJNHB2QlpG?= =?utf-8?B?STltR2U0bkQxNUdJd0hnWUtiZ0duQUpJa2Q0ZjU0OWQ0bWNvQkl2RVBWcXFp?= =?utf-8?B?UHZmRWlkbldUVlNrNGtpU0ZoWGNuN0N6NWliR0dOTDlGZFlPRnRFMWxIeHMw?= =?utf-8?B?WjdRbkpTRUowN0NXUU5sSnRLMkwyWWF3V0dFMWgzSUV2NVpjcHR3Ujh6MWxC?= =?utf-8?B?R1I2VjNJekN3TjZiWG9qalZmLzROTlIvQ1lrUU1pc3d3Zk9WVlRLNE1jSzBI?= =?utf-8?B?VkZQS2ozZUNtZTgyRXdjam9mc1BHTmt1Y0ptSkR3bUdJSDVZb3QvZVRKeFR5?= =?utf-8?B?K1BQMGtCL2p3eDVzdHVUakhoay81M3ZmRVNIVVRWYVBOR1lmbmNqS1FTb1Bn?= =?utf-8?Q?KxLRsoHi7f0=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB9473.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?b1MrWEpSZnlJY0U4Y1dCaGNPNGNlcW9MVW9lMTQ1aHc0eWFaMit4UE1rZ1g5?= =?utf-8?B?VVUvcFdLUWcyMm0xT1NpTHlLM1Z6U0d4a05IbThPSWtJTXJhd3BDbW9LclAw?= =?utf-8?B?by9sZjBWSytxQnc3Wk5iVFE2N21nOGdhek56Vk5xUDhoNUIraE15bnpubkZ1?= =?utf-8?B?bjRCUC9URFpyS2tlTnBXUGxkVzhFa2VvYkh6K245czJLOWlTRnpiV0ZrWEU5?= =?utf-8?B?Zk5ML0ZZeDkxclFyRkc0MVFMYkoxQi94YnY0T0tQTFJpeWZEOEVkcWpDNXRz?= =?utf-8?B?cVN6c0lIcXoxVkk2RHZJTDhlWXNDdWcvbXN4dVNuUzJ2SmZoZlFQTXY0ZjJU?= =?utf-8?B?TTRWMHBTaXZyMEk0dHRaY3k0K21DZmFMNFVlendJUXdnbTZYeXgvajJLcGR2?= =?utf-8?B?RTFnbEVBR2dtUnA4NXd4aVZ2NEg2TnppNy9lYlZCT2ZVOFNPbGFtNm40MnFh?= =?utf-8?B?UUVUSGhYczRSNzAwNTh1d1I5ZXBsaC9SZUFOREdNamxSYjVRTlVUNHN6NS9S?= =?utf-8?B?bjJmeTVCUExjRElpRVhkeklqaTc3aTFVYnJSblltMzFPWDNoMTJJSGNwRjha?= =?utf-8?B?QmhBT04wTUVpWkJWcGpkaDEwdjNDdGRZU0V1RTBRM2draTh5Z1JYWkV4V3dS?= =?utf-8?B?d1B2OGFVK0NhWmJabU9jWGNUbitVU3BlUnJDYnVKZmVVSWI2dURZQklENmo1?= =?utf-8?B?b2hxL1lLZFZ4RGF6M3JaRko3Rjc0R3RyUldPQnU2amY5bXNNUXNUTXJhTGEx?= =?utf-8?B?ZUZTbTU0enNWRFVvN1U2ZFY5dW42OXIrRFJRbUdNTkExdExMOUJ0KzQ0MHlB?= =?utf-8?B?MUtOMWRlZWVGbVZ4cnl6NnkrYXhQeTVpQk5PczNnK29wUFRKakM2SmVFeHdm?= =?utf-8?B?Q0JKS2tOZGFzWHJjNDE5L3VXRW9weGI0bzVJNUtSczlIa0xNNG4rRk1idkQz?= =?utf-8?B?UVI3OGFvUnlVL09qRHRlNWtDUC9Jd09UWjBLcFEyKzdYRk1KUEs4YWthb3Vr?= =?utf-8?B?enRSWjR0bnMrUDhDd2pNQWV4ZDR6aVhraG9hd2tRanlSYkJrcmxkQ2IzdWVO?= =?utf-8?B?T1lXUFc1bSt0bmhZSTl2bmgwbkc1eVRqcFE1OCtvZ2Ezd1h3WGpJVjFaN0hY?= =?utf-8?B?NUkyRmJXSkFzY29kM1JmQVlMMWtjM0poamcvWHZMWnhVa2tzMzZuWEs3cmMz?= =?utf-8?B?SHRRZFMxV09nMmE1aW5UbUZDK1NGSHpVVDJUQ2RNTnoyTUljemYwOFhCSkJt?= =?utf-8?B?MDhUNHUyRzNqY1d0cS91UVRESVpyQ1MrdHVNSVFTODZKcW9rTXVUQ3FMdHlM?= =?utf-8?B?U09kWkFxN0w3Ylh2dUNtMlZKbmZCRlk2YlJJVktOc1Z3TVRNZFAwdXM5dUJu?= =?utf-8?B?eEtTMzNocDF5Wm82SnV3bVVQK0QxbVhuU2JrdHZJekhkejRxa0d0c0NUNWZR?= =?utf-8?B?Tll3eTlMUDNWMHkwYlhKWXduWER2S2JKUktHTTJ1LzFjaWgyQzBONUg2ZDhq?= =?utf-8?B?cDFwSE42QjRDSVVKTS8wWU81cS93ZVJkRVB0TXQxSi9ld28xTGxHbXUvZC8z?= =?utf-8?B?bEVvUU9yL2MyamZ6T254L3AzRHdUcnJJbTVJdStBcjYxUnR6eGgzZGZkcjkz?= =?utf-8?B?THJYMjBFSG5TZUMzK2ErbFpNYnFEUnVhUUV0bEtmQnVndEsxYVVkajZIVCt2?= =?utf-8?B?YWV4ZHRUS3k1SUhPL2RIWXJpdlRlcDhrWnJtUTQ0RUpmMjNQS3pZSTJGTEhP?= =?utf-8?B?RW5zNjFWeEJOU3c0ZmFRbjVOQTcyOUxxU1Q5OFVDZzJVc28xRmFrUGxGemZa?= =?utf-8?B?WmFYejNZelNXdEYrc09XcnhETnVHcVYvMXJDMnVody8yVHZXV28yRThWS21Q?= =?utf-8?B?YWVXa0pQTjdkYWtBblVXaW5QdzFyRi9mM0NYTXl1dGtSMVFtNm9nZHhFOUhP?= =?utf-8?B?UFpuOHVQaFBaYm9xSXpQczBUQVF1ZzBTSlV1c1RDSHFUaHE1L3p4VkVQRFMy?= =?utf-8?B?OTBQRXJLaVB6U2loMUJGbHhGUzdYcU9rUVNGZnNtMGVzeW93RDYraUc3V0hZ?= =?utf-8?B?NDFMRUVaMDNkdWFabkFiTXJCN3BxemJvRDlhUlBpZ0NIbUxUUnh3MWprSFBN?= =?utf-8?Q?ViFtf+mp82ZX2OMEwW6aR6AEN?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c5f7040-f9dc-4104-2726-08ddb26a389c X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2025 15:25:44.5836 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BpKmxCxFw60frWjQXSpaVQHOZHgI2bctKDUcKyJvJSWq4SFtJEpBBHsD+YkzSczu X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8746 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 36C2BA0014 X-Stat-Signature: arx1augzshzx6exsr4oazbpxxwjhs6xp X-Rspam-User: X-HE-Tag: 1750692347-459627 X-HE-Meta: U2FsdGVkX18v6ekzt9ZGWSmsSW1ZRsQeuOu43/GaT+jHo0kMt9jQvIOTUb7CdakPLxYzfBqvDwu3/1tawkc4hhRJQxxrAVciCstLywNqEYONth3xrPGhpBPLHyu7N5P+ByinboxGJFgwdVlGfsGuRHVHeNzvuqIO0fQ07+GWv6I8gIielUUfOYr5G37lqovA/XyzU2CHJJxrYtM7F29GcWMTPV19XVOI5x8S28Gw8g3cShtZvdFR4qkyKJajr9UPiH5Tjm8tLEKfrfEVbTh7ayn0+dXJce37+e6v+4k/Szy+6f3Uqsb3c4O8qbk7NDKk/xfT3Ij75eizJby6FmyOOlVJqc7rTbl12knFxMr+0YcAR8Wo6MSBbU+T8G1hYl+uWC+BoXKlRocU5vY5cZ0o1qbOCW5Yb9FURzILMr0MkGd6qp3ot+8olIZCzcCD4Ub7zylTX39guuWEvzpPuuagLtUsxC5Fk4DPnr3f43sr+p23RfZpwBw44se2+aSvZrYne102FJFPkxY/QYqZiEU2rLeEF7Te3KHq0fGCwttDnvXbwoMUUNRGId9x9i11OzPk+S9m8kytycuYpyrxZ8mrJuZhrrHB/GTKLTdI3N8fQOggMqp2Uc5r9h2bu46LkVSEydsHXTUDr4p/bXf6EjE8YQ1e7XjmOJ6no/nJRRA5w8hN5nrVGNvlpRi0iT34bZLw8tnxyxl/eRjmo8gegb+aBl/EyuDbTNx4/XmT/lCXz2l853D3Ofl3rBmjxLVd/kItGVgldSChyEZUStGSRtEu5Xp6jT9HjSom+vnrw4PhlBZ7EfXHnYHqNFYCBkf9wbnN1X4RsjcTRD9d+TdrhO6dCjOVA2cTUShg+Jwveuz3Ld5zVY8P8Le62jHxbIqaZnFLhHELZrPfWu8e9kzOiyyjdbIyfCWzs/d781OTnhR49nkmFbZjZsLkKwj5h7CnOBWlflkN3rrhEjTGh3k2ZLl K9OSuvPq gI7ekh6iNY/I5N95+n/A+SFq4AyUiedr+7W6ok3kL7/oKD0KiLi16wzyyw6XUSx571iUqY2oEWHUpAtg5hWFqIzesizvDgbR/K0kjWU1kD2NwRBoIaNMgq9I4n0vossInZtNCgf82HCfTHN0pFS+dKAEJUYZgEGs3eBeGkHQJe81tgGohArlWYFuzPPb5/CABVCAXAxI2lpPrAh0XvA5LDpXct1kNxO9gQpwaShJMeYmGYI+bi9jDm7eZFuAVcV2V+XTkknSRzi9wC1+sND0uh/nOq5l3zVbbNGdFBmDxb236UdK+7RclYCjfBMn+ia0ST97DGGMw7g+tCqdq2Wx0ShSvPU6+T1eCJ3wR3x2FUyfEJcj5Ync/mOujCb6WW31lM7mFQz/AbMMMPLELuL58R+9M/bd9OgPO3CbZ5eDEKNcZt4uv5xwFk14jOAWhWSqS03PWw/syoAsbNkNsWM3H58rf2yOsl/JW7aEE/aHoAcKIPoqDIFi/+4tPkur+g1FewCaoDEkWtoRXHQFOOU3g1Q8AOravdd8z8MrQQGpICZlRhkmMvuGFuwQZaKyhNFXnvHifXWSqnDyIQerkj4deqgRhTKwdijE//shPrDmkB7OS+cQttH7t+bWAXSHa+FNZd1J2wSoz6GaZXCOXb3xhuKFppkE0Pr4wshLcGw2Xk4G3Y9fWSStQMp+lCKoRAkddkYbY 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 23 Jun 2025, at 10:58, David Hildenbrand wrote: > On 23.06.25 13:13, Zi Yan wrote: >> On 23 Jun 2025, at 6:16, Byungchul Park wrote: >> >>> On Mon, Jun 23, 2025 at 11:16:43AM +0200, David Hildenbrand wrote: >>>> On 20.06.25 06:12, Byungchul Park wrote: >>>>> To simplify struct page, the effort to separate its own descriptor fr= om >>>>> struct page is required and the work for page pool is on going. >>>>> >>>>> To achieve that, all the code should avoid directly accessing page po= ol >>>>> members of struct page. >>>>> >>>>> Access ->pp_magic through struct netmem_desc instead of directly >>>>> accessing it through struct page in page_pool_page_is_pp(). Plus, mo= ve >>>>> page_pool_page_is_pp() from mm.h to netmem.h to use struct netmem_des= c >>>>> without header dependency issue. >>>>> >>>>> Signed-off-by: Byungchul Park >>>>> Reviewed-by: Toke H=C3=B8iland-J=C3=B8rgensen >>>>> Reviewed-by: Mina Almasry >>>>> Reviewed-by: Pavel Begunkov >>>>> Reviewed-by: Vlastimil Babka >>>>> Acked-by: Harry Yoo >>>>> --- >>>>> include/linux/mm.h | 12 ------------ >>>>> include/net/netmem.h | 14 ++++++++++++++ >>>>> mm/page_alloc.c | 1 + >>>>> 3 files changed, 15 insertions(+), 12 deletions(-) >>>>> >>>>> diff --git a/include/linux/mm.h b/include/linux/mm.h >>>>> index 0ef2ba0c667a..0b7f7f998085 100644 >>>>> --- a/include/linux/mm.h >>>>> +++ b/include/linux/mm.h >>>>> @@ -4172,16 +4172,4 @@ 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) =3D=3D PP_SIGNATURE; >>>>> -} >>>>> -#else >>>>> -static inline bool page_pool_page_is_pp(struct page *page) >>>>> -{ >>>>> - return false; >>>>> -} >>>>> -#endif >>>>> - >>>>> #endif /* _LINUX_MM_H */ >>>>> diff --git a/include/net/netmem.h b/include/net/netmem.h >>>>> index d49ed49d250b..3d1b1dfc9ba5 100644 >>>>> --- a/include/net/netmem.h >>>>> +++ b/include/net/netmem.h >>>>> @@ -56,6 +56,20 @@ NETMEM_DESC_ASSERT_OFFSET(pp_ref_count, pp_ref_cou= nt); >>>>> */ >>>>> static_assert(sizeof(struct netmem_desc) <=3D offsetof(struct page= , _refcount)); >>>>> >>>>> +#ifdef CONFIG_PAGE_POOL >>>>> +static inline bool page_pool_page_is_pp(struct page *page) >>>>> +{ >>>>> + struct netmem_desc *desc =3D (struct netmem_desc *)page; >>>>> + >>>>> + return (desc->pp_magic & PP_MAGIC_MASK) =3D=3D PP_SIGNATURE; >>>>> +} >>>>> +#else >>>>> +static inline bool page_pool_page_is_pp(struct page *page) >>>>> +{ >>>>> + return false; >>>>> +} >>>>> +#endif >>>> >>>> I wonder how helpful this cleanup is long-term. >>>> >>>> page_pool_page_is_pp() is only called from mm/page_alloc.c, right? >>> >>> Yes. >>> >>>> There, we want to make sure that no pagepool page is ever returned to >>>> the buddy. >>>> >>>> How reasonable is this sanity check to have long-term? Wouldn't we be >>>> able to check that on some higher-level freeing path? >>>> >>>> The reason I am commenting is that once we decouple "struct page" from >>>> "struct netmem_desc", we'd have to lookup here the corresponding "stru= ct >>>> netmem_desc". >>>> >>>> ... but at that point here (when we free the actual pages), the "struc= t >>>> netmem_desc" would likely already have been freed separately (remember= : >>>> it will be dynamically allocated). >>>> >>>> With that in mind: >>>> >>>> 1) Is there a higher level "struct netmem_desc" freeing path where we >>>> could check that instead, so we don't have to cast from pages to >>>> netmem_desc at all. >>> >>> I also thought it's too paranoiac. However, I thought it's other issue >>> than this work. That's why I left the API as is for now, it can be gon= e >>> once we get convinced the check is unnecessary in deep buddy. Wrong? >>> >>>> 2) How valuable are these sanity checks deep in the buddy? >>> >>> That was also what I felt weird on. >> >> It seems very useful when I asked last time[1]: >> >> |> We have actually used this at Cloudflare to catch some page_pool bugs= . > > My question is rather, whether there is some higher-level freeing path fo= r netmem_desc where we could check that instead (IOW, earlier). > > Or is it really arbitrary put_page() (IOW, we assume that many possible r= eferences can be held)? +Toke, who I talked about this last time. Maybe he can shed some light on it. -- Best Regards, Yan, Zi