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 D9742C36010 for ; Mon, 7 Apr 2025 13:36:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D0EA76B0005; Mon, 7 Apr 2025 09:36:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CC1686B0007; Mon, 7 Apr 2025 09:36:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B13536B0008; Mon, 7 Apr 2025 09:36:08 -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 8D7126B0005 for ; Mon, 7 Apr 2025 09:36:08 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 85C561A12B7 for ; Mon, 7 Apr 2025 13:36:10 +0000 (UTC) X-FDA: 83307346500.24.663AB88 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2066.outbound.protection.outlook.com [40.107.236.66]) by imf03.hostedemail.com (Postfix) with ESMTP id 6A5C320004 for ; Mon, 7 Apr 2025 13:36:07 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=JgSkxUWT; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf03.hostedemail.com: domain of ziy@nvidia.com designates 40.107.236.66 as permitted sender) smtp.mailfrom=ziy@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=1744032967; 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=w/vf4szwjjcvdYhf+hpDb7GYDAyUNze446LOIT5xxv4=; b=MH1aP+ycGUjtyL0ezjeydn5v7Omp0RxfqqHYexiWEzKewQJf96BJ+zEIxmporkxSqbboai 18pdvOARKW+oFYryFKS7aYThZxuirr3Vd/Tixli5d0IJx2U8SuHYUFqcs/w/ALPbFCOLnM qnMhFu+XA/7tM62TpWAwJl75HVBkUEE= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1744032967; a=rsa-sha256; cv=pass; b=GzhnGIesqaM+QYyX+FiEBv1wuUlGkBo9ql3AJcC/jP6E0pqBWT7aNoBTVsNWC/XSs5HgZG a1JSjXDN7ImcZZPJBJWSQg4VNZGYA6YaeNr2Al75AvmV/5OsL7IBHz0sipjoedsCeGPo4S 3cGqmN6mKBh5KHzB1pMr5B1/1ZIzv9I= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=JgSkxUWT; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf03.hostedemail.com: domain of ziy@nvidia.com designates 40.107.236.66 as permitted sender) smtp.mailfrom=ziy@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=J/g2rVyJT/JFlar2Xt1qzTQDktMONTtd22Nx/rhCEJDvrk/jKEM6hFbGsmfQ7lSiBQtYPzjK/WabEtw7VsHG+CfA+3NpRNd7cptMOwgFHEq5Ui3srITBy5+sM8ZEqSQjw+F1qBUISvglkgm+TMdwbEe5geqYNlXVL5EUIHNXXALX0Xp9kfm6QzzFtuZXxCHLNMvuKuCWjDTTyOOfOLj8fKmv4ozQcSqzcASJdUp8qAiUDce9DSeFkygjBKM2h+h34PqHcW58uTlbGTYjSeQhY15Eqv7GURczLLbTGAyZ4DqARAFz76Ix3NBYBPOb95J4RFupffQcHx3lgBrhW+sWOw== 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=w/vf4szwjjcvdYhf+hpDb7GYDAyUNze446LOIT5xxv4=; b=FmJVgBpBfud094RVYjWbmUWeU3Ez0AO+9FNUoNhoY2nsRIAQ5Te0V1eIhiBR0hhYKjZBbQehWe6sRhNTVGvPO7zIFalXnUdfXl1dRynEYj3vgSg76LtZ/eHGjf53ozOaqijvuC+KczjyqYJ6TqWgu/0JsoFGEHmW96sCuZnaT0fx9sefjhPAc7y8rvwRExQv+DqD4NE8vI2HNL5zatDe9d6a6o6goYl/CLO9myV9HLwy7cri93/e4FK0yJ70dmgVCZRBcufTnZyICOMuTRSwvVOqcLxs/jgcPPvwZFRugODnLwfIQh4+GFd1FFC27FBFDns/pDASGaw9zFgPCyljgA== 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=w/vf4szwjjcvdYhf+hpDb7GYDAyUNze446LOIT5xxv4=; b=JgSkxUWTcvCxtK3/kbOezvZTQVv9D1B6WbPXqLQQXdt7aWq4n8mLDxA+jUg9HxxiPIimT9b5WgJpiStbn3gkpK6k07pRGUe2pibYUuHfD4nbtzlQQ533m25STQQvD5bUPilhcSHHZ6TgZRzOEvrs2+5zN7n67ZsODSWS3gqn85nlyBKBym28PZtvHctp+HUY7Nbb0dKP3qvV8gkdfaoSowOpmz9J+hLaEnEGrLxpgVLSxDLmq0W9ZLjSDIempcHcSXoRojGbtrjQQvOn1x+dluaATC1IOi+n6EQPIpj5qeBnLbu+tqXpbbgR55X8QtoyDT/WI8xngZ2vLZRZUdOfFA== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by MW3PR12MB4428.namprd12.prod.outlook.com (2603:10b6:303:57::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Mon, 7 Apr 2025 13:36:03 +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.8583.041; Mon, 7 Apr 2025 13:36:03 +0000 From: Zi Yan To: =?utf-8?b?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= Cc: "David S. Miller" , Jakub Kicinski , Jesper Dangaard Brouer , Saeed Mahameed , Leon Romanovsky , Tariq Toukan , Andrew Lunn , Eric Dumazet , Paolo Abeni , Ilias Apalodimas , Simon Horman , Andrew Morton , Mina Almasry , Yonglong Liu , Yunsheng Lin , Pavel Begunkov , Matthew Wilcox , netdev@vger.kernel.org, bpf@vger.kernel.org, linux-rdma@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH net-next v7 1/2] page_pool: Move pp_magic check into helper functions Date: Mon, 07 Apr 2025 09:36:01 -0400 X-Mailer: MailMate (2.0r6238) Message-ID: In-Reply-To: <87v7rgw1us.fsf@toke.dk> References: <20250404-page-pool-track-dma-v7-0-ad34f069bc18@redhat.com> <20250404-page-pool-track-dma-v7-1-ad34f069bc18@redhat.com> <87cydoxsgs.fsf@toke.dk> <87v7rgw1us.fsf@toke.dk> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MN2PR16CA0018.namprd16.prod.outlook.com (2603:10b6:208:134::31) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|MW3PR12MB4428:EE_ X-MS-Office365-Filtering-Correlation-Id: 2ccf8f1f-77eb-4f87-52f3-08dd75d92450 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?eGNRTUhiMGxuR2U3QjZDbGVLZEFROHMwSkZsalN0cUhPTGs4NlUyKzUxbEZ5?= =?utf-8?B?MW9NcWx3aDJ4M3N4VnNVQnNxNFhUOW5xR2N1cjcyWFlIQ1pXVGxzTXpwbTJP?= =?utf-8?B?blg5TzRiMk40dXNrcmV1QUtEVU1wNG91NDVkZm1wdU95N3drWGVDUldDdWlj?= =?utf-8?B?VElobExLbnBlMVBHQ0hvakpkbzgrczR0d2ZwcjZESko2eEQydVZhbnNWTHhr?= =?utf-8?B?SE44TVB0Zk5LZ2RYaXcrcVZDV01LamQ5eGhzVHVsQ2wzc1JOUWxpcFZXNUda?= =?utf-8?B?K0kwcnB2SnNMdVNwYU9RR1didUpaT1RzQWJvYU41TEY2RlZLc1MwZERrcnQy?= =?utf-8?B?VnVVYnRNSDZSVVBFblRyaVlTMlpPK1RVbVFsWkZ3dkpxVWw5cDlRWXAydVpF?= =?utf-8?B?ZkFqQnpPeTYrT0hUcFZ4YmwvNCtnZTJtNm9CQXY2ckFqdDlnVUd5b2JNRjNy?= =?utf-8?B?elVkQ245UXVWOExXajk3bVN3cUNEV2hCM3dmUktRVWZiM1U3RFFwTmRNN2tv?= =?utf-8?B?NjRpS0RZZnBMZmd2S2dLUjdIQXVyUkxjNG55YVRkcFp5d3ZuWkltaVRTcEJq?= =?utf-8?B?TmdLTkJ0dGtpNFZLbHdVZmkrRjRCM28wMTdibEI1V1M5YlJBN3pwMjF1Tis5?= =?utf-8?B?MzFpbHFySzVZTlFTK0laNExzT3BoRUprUUtvWjZoNWZnK2tUUGRmdWVnREJj?= =?utf-8?B?RmRqc1pHbldrRXlMQVd4NlVqK1pGMktSUVowM2RLS1o5NjJrQ1JaQjRVaHRG?= =?utf-8?B?TktZdDBQd1Y5dzdrVGYzWmVOanVsbVMzaWdpcGlhczBzb2gzQ29GNFBrdGUx?= =?utf-8?B?K25UcE9lWkdOdVIxRnNHRXFLNHN3Vzl1dVZvVDk0dmhLL1lvaFoxNkRKS2g4?= =?utf-8?B?L0JSejlpd1FoZE5YTUpZLzRBZGQ5MFRKUjFEOTYxUVpyUTk2bjFNUzkvNkNv?= =?utf-8?B?V3Z4MUpHbnlCZHZFalZBLzNvVkhDQnI3QkZNZ1J2RXkvZFdLRjJ0MnhZdGNW?= =?utf-8?B?SjFzbWg0d3NlYnAyTXRtM0t4dFR3d2I3Sm9iUDFwYUR4L0VRbzVKNlRwSDRL?= =?utf-8?B?THkybGUveHA2alhmNGdZT0xSQ2RqNHhzSkFNMFAwWHFCTjNOQm5LWGNvbGhj?= =?utf-8?B?WTZ0b3BVdC9jWTJQR3luMFhXK2FoRnlhUUJEVVBLVnFXTUhUc0Z5WUdQVXd5?= =?utf-8?B?OU1jcFFvSGVORmJSN2lLUExxMmE1UlBSbUc3U29MYjFmQjdDOUtNYzgvWWdI?= =?utf-8?B?YjFxVzdVaUxUUFpOYStSYzhuK1hjaXljNEhMOE4xcEw3MjJKUFBsY1VTWmNW?= =?utf-8?B?TzVYT3NrVjJBNVk3TDRCd25oc2E5cWYwcXdVVjQxdVM3Ny9COWlGQ1RGSjF4?= =?utf-8?B?RVdsL3VRQ3hXYlJ3L0kzVWNBNHkzTlUwV0lpVmxuSklnRnBLQjJzZ0pqU28z?= =?utf-8?B?aHlnbFZrMG9oRVR2Rm52VGhXWEhTUTdMMnBGSnV5Y1VCL3pVdlpmSnhlLy9N?= =?utf-8?B?Yk9Zc2VKS1MxT1JBeFNpWUVjMlNQNXhqSk1nd1dwOU9qcEZsWUxoa2hkQnJH?= =?utf-8?B?cEluaXd1SHFuSHJ5eHJTc3IvRU9FclR5Y0o0TlUxZ1BvQ3RnTXk4TWhOcThs?= =?utf-8?B?OVF6OFVLU1o0MFNDVEE3QW1TV1FXOTdnZjBtOGZORUZUMm1OaC9yd2VBaE9G?= =?utf-8?B?bkpPc3cwY3hGaDlWcjhzajJ1cTRJaXQ1Z3ZQWlR0bEF5WlFTTW93Slp6Mk9x?= =?utf-8?B?b0hVYllYOG5yQTVDT1VHS1Q4QzJ5Um1RK1pKR29QdmJoeDl5UEVuRGkxV0J1?= =?utf-8?B?TGhVdlZOUHBGWXRGSS9YNWI5NTRsWkJGTFJRdGtnMkdIa3JLVk1RcG5QaXRL?= =?utf-8?Q?7ipM9h530mA/F?= 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)(366016)(1800799024)(376014)(7416014)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SUZ2ZnYvb1BpQlk0QiswRk4xeGZxNE1zTkNXcGkrZ0Jwc3hxWVVmT2pNS1Jx?= =?utf-8?B?VjFhNVhReEZQcVRHWDIzWFMxeDZabmJsZnZDU3hFMHhkczU0cTlyeGZiUXlY?= =?utf-8?B?aURXL3Brd1AxNTcxK1F5Yk1qdDY3QUhIeGcralJmV1lyNFprL2hFeWVrVzBJ?= =?utf-8?B?R3EwZ1cyQ1JPUTYrb2JEaEJ3Vy81aEMzSHgrckIzK0NRTVVNcjk5a0dRVkJI?= =?utf-8?B?M3NFSmNJQXpZNis0a2VvQzBJQkplOTRDaThxVnBMQ2ptM1B2TU9rN2ZrYVJ5?= =?utf-8?B?OHVITTNoL2ZSQTdRMnNMbW1tUWFJc0F1bHA1ci9RMnQ2UXFwM1RqaWU3K3N1?= =?utf-8?B?WnJCNzJyeHVYMUJPblFmTmxzQzVycGVTU0sycnVKZ0ZVbEIrQS9wd3V2TFNl?= =?utf-8?B?QVVZSXlNc01zd21HWlZnVDJtdXF1RnBoODNLVGNjMERNVGRXeXprQU4yZWRK?= =?utf-8?B?ZEtJd0FuSUkzNThXYm4xeDI1d1V5cUhxMENXZ2YrdG1FQWV4R2RvWEpYTzEy?= =?utf-8?B?MnRaWkpnQnlxUXVkTmM1Z2pxOHpsUHR4bUZ1VEthY1BYOXRMWVFveVhsYXhU?= =?utf-8?B?UGpyODVKamZYWnU4WENRK3M4VXFtek4wV01iS2xSWjY4SSszakRnS1pyWDhB?= =?utf-8?B?L1lyS1hIWC82L1FZYkNOVFh0RHBmbndyRWlRZmp4REk3am5qZG5NNTBXQzlk?= =?utf-8?B?ZkpFVHhIZXNRaVI0UDhUdDNuelplQzVJTEJxdSt0YVkwUDVtclhZMkMyeUU4?= =?utf-8?B?R0dTQVJFUVRkaElKODcvVGdJTnJQM1pIdSt1OXVXYiszVHNBWm5tdWxBcEFh?= =?utf-8?B?L2NaUUE0eWRyWXB1VVBVSzRoRE9JWFdSaTQxSldaMXlELzJBbTFvL2p2OEtt?= =?utf-8?B?WWFtRFhRTTRjQndsN1NIWm0wVkhaTm4rMWZIMjBRY0RQWnQxVGVsMm1uNG1K?= =?utf-8?B?bkpvMENxS1ZLWGk5d3dlQTdMMTRVcGVzVUNlQlNXRHI3UzI0Vk5qcmNOUlpq?= =?utf-8?B?K3pTekFuMmpLZ2hJY1ZEelAybGlsUFY0NEhjdEVoNFcyN0VBQXRuWTY3OUhx?= =?utf-8?B?Mnp0OW43YjBTQjJkVTMvMTViT04vcnZ3QjFSNnJXZ0NqVzRRaTZzdHVVcHlT?= =?utf-8?B?Z3l5bThYTWx3YmMvbWtSaDFtWmVwTFZiR0lUdGpCZjRhalI1emphYWVzL0Fo?= =?utf-8?B?QTVNOFpkOG02aXZRMmZBZFE0TDdpZE44RnRYZkVSQytsbmRxL2lLRE5ENHdo?= =?utf-8?B?V0lnMGtoQ2JoZlhhaVArcS9ock1xbTFTcTBlSEZtMzVIZklsaXQwK3NBVUcv?= =?utf-8?B?T3RSMGZCb2pPZ0VCek5kQ0FCVE1abmRkNVNJYUlKdDZaOUl0SUU2NVk5aDRQ?= =?utf-8?B?TUdzbHZIOG5yTDZ0TnhldFJtTk0yT3JrTHpkcERGcWJZNkZhVjFSU1Uxc3du?= =?utf-8?B?bjRYMTM0Zmo4SFRJWW1mdVJGSi9NUjRQeTlxU09WSnZqSDdzWWhydGZzNXhW?= =?utf-8?B?QkphSVNvOWd4SWlZcHZ6VE1zNlpSb1FtQlh5UndxbnNUZGtyNWFjNUNFUUlM?= =?utf-8?B?Q0JKeU5zeFBYRU1WLys1M0ZyVUwzU0VVaWoyVm1kWWE1Sm1DL0NZc1d6MnIy?= =?utf-8?B?emtVSldaZ3dxK3FTVGtYeGR6OHJDNFFlQkRkdkY5d0tRWVpUMnhHSWtGMlNH?= =?utf-8?B?Y3J1SDBDY1BzRDVZbjF5ZmZJUDU2N3ZSbk1IakhrbFhKaVRkaGFMR3BIWkRM?= =?utf-8?B?alNpQ0d5eGg5ckk0WlQ4MHZ3SG1IakdqL0UwdWlWSm5GeFFUTjVKc0JEWHU0?= =?utf-8?B?RkN4andlM1F0bXBTOEpWUk5iUmlrKzd6MFBRRGM1cE1LQzVaemErZG9MckxY?= =?utf-8?B?blNqL1Y1YU1jaUo0Z2xGejhtclZLaVhSNWxCaFdNTmhrbFl1S0pPZlg2c3J3?= =?utf-8?B?cjVSdGlyb1JDZU54WGxoUXlCaVU4SFRzOFpTWXhyWWFNb0g3Qm5XMU84QWhw?= =?utf-8?B?dXF5ZnNjTnNCbXdYLzNGQWx0N0hYOTJLaVg5ajUzUW9rdklac1JNQ3ZHYmdk?= =?utf-8?B?QkxBaGxoK2lBU2xyVFVpY1VPeFd4VkFyODVNajZZaTBaM1A5RTRERm9yRk4w?= =?utf-8?Q?Qrf7DA9oG56pPTxgtZi/1DlVB?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2ccf8f1f-77eb-4f87-52f3-08dd75d92450 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2025 13:36:03.6135 (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: a5x7l3Z8A7n/nwIPUTHZ0m9M4flXZ3y2u5XdqxoV2LwGSypHVfKzOXgiL0pRc3uC X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4428 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 6A5C320004 X-Stat-Signature: k1cm3y4aot9x63otjs5axhbe15961asx X-Rspam-User: X-HE-Tag: 1744032967-324548 X-HE-Meta: U2FsdGVkX1+H24dCazey866+rV8mpj27InZpivELpA88TqzJwfd6cDjE+e/UxHE6ZXwJBZ9mUAys7E85wDOrCFmxtixjV7GKsXGwIu0oENPI5V/VgV4F0pZB3cGlFOt2dk3nEXF1loPtc/x207eWtd++pGwVHt6p+J3MeNNBob0hPBGjFtTo8WVyRYt6gmaWvmeWhiLIGbz2vDKgWyJeGZApFpmL2JzXEQb1LCxozBAVFdJCQOPNGkasMjA2/rbKKxxNVrtX94VRBZctu1q4/4Fh+HisT/dggq6eZABA2hzIyfBj3hdrt3Uav6ol5PrEYahl2z1y6N+PZp/E8RYIxYfEHMs3Io11lU5PG1NoLh+SPWczveU6aOsYmQ71k4iI6b7kHV/RGyD3ZgyR5aTtdmxrlNfUIGlw4bSGBh+6EnYOtpxsy1h+UfENS1Z+gk7eQBzt4JLKoJMOoAituCrqESo66xE72jFsHXYwgmo4UTvzv+htQaLNFlAVTs21zpxfKrBBdSIIYVUs7QDJVfppMuj6lBwB2e94lOVP/uMX5p7lTEw7Nvutlw7Q06liCWb7dAStW8sH2gEb3DEav3ENsngEthV2C0ZcrNOXrySnb8VKBTxqEpJQ78d6V6F27birJFQ4W7c/y40xA931uy3C399Tv/tmdCPP6G0KIdLUp0ONvXygeDwQAAo3cTfYS0Pax41aQrV8Ac2LQWw+zsDLxHjDFU7o6sRlWGX2m5uWnfIazlQD5beZIlG66VPDOLxclqEqMZp75sYPEF70JXGlFHJ4ue7HbRjUmF86180mZtnGBPOqhNfSV3yEAg25MCDeEfUVX0EOUsg50jJ04qULqJYteruyNiCr9zDvU0TCyd+3eMw0OQo6U0iYLDNDy9W+xL9cqtgO+S80HCwz+aSdQ7UxexCDQBCJ55pFmO2LZthUTwNtzJUJrK0KU8N8xTvcZmk+wAFlLdEuRD6FSmJ ZCFunaOs 1Y5oNX0B7rgjpdwTdV3uH9YPiQcI1o+wesZjU3aRXDGFbQsPmzxO4ZfLcFm3fYsJa4C0CUdHwEjl9hWPQxX3OZDDy9t9WNvDpzUR93VwrAHwaD8+OI3KQ/fvBDmetyDrtJ0pd68GqfSCwCesC4cpeBCgYX8Anu3j5EtG5zLFZ69oE60GwBBGuBKEp8/IJu5caWmu5eiZ+CTQOZEzL/Kl/TVjE/AiFF6lNITcDq8tVyuRm9RgZIHG2ZmZ5A2wkvACnTpM7JD2LyA5y1kYUDD8HRRi9cSAlySlvP3vwiK5/xRpryA4S/OPyCYm4wc/zmZBQMbx0Qhj4FX0j2MlOvdSbAWGKao8ZS0v5O16nRTygy35tNtAA58sA2nSkJFosBDgLT3SIwJfD7/tSJ0GbV06Q6MiJFyg5uLpzdATGNAOTmLceWsa8sajH74x1zrPguorGCqgnHI3OXj5aevcVZ67phnBOY9rD8xc7Lw2y4w6d4PjlG4gCnqxOkFvp4DsYYfJWK83u6JcuPsUlhhEynyRiKUA2D7UICGupltKG9Ymou0u8Fan1E9gfHhiMtvjHZWxPy8NdNqmhetEslzRh+iOtHPUj+0v3OTFIBSqNQcozsaB0Ubx2mTLvOzVcykhzP1VLkyQNwsYX2N1sjQ8GzqSb41mSC0Iuot3etxuIR8olDt6KIVI= 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 Apr 2025, at 9:14, Toke H=C3=B8iland-J=C3=B8rgensen wrote: > Zi Yan writes: > >> Resend to fix my signature. >> >> On 7 Apr 2025, at 4:53, Toke H=C3=B8iland-J=C3=B8rgensen wrote: >> >>> "Zi Yan" writes: >>> >>>> On Fri Apr 4, 2025 at 6:18 AM EDT, Toke H=C3=B8iland-J=C3=B8rgensen wr= ote: >>>>> Since we are about to stash some more information into the pp_magic >>>>> field, let's move the magic signature checks into a pair of helper >>>>> functions so it can be changed in one place. >>>>> >>>>> Reviewed-by: Mina Almasry >>>>> Tested-by: Yonglong Liu >>>>> Acked-by: Jesper Dangaard Brouer >>>>> Reviewed-by: Ilias Apalodimas >>>>> Signed-off-by: Toke H=C3=B8iland-J=C3=B8rgensen >>>>> --- >>>>> drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c | 4 ++-- >>>>> include/net/page_pool/types.h | 18 ++++++++++++++= ++++ >>>>> mm/page_alloc.c | 9 +++------ >>>>> net/core/netmem_priv.h | 5 +++++ >>>>> net/core/skbuff.c | 16 ++------------= -- >>>>> net/core/xdp.c | 4 ++-- >>>>> 6 files changed, 32 insertions(+), 24 deletions(-) >>>>> >>>> >>>> >>>> >>>>> diff --git a/include/net/page_pool/types.h b/include/net/page_pool/ty= pes.h >>>>> index 36eb57d73abc6cfc601e700ca08be20fb8281055..df0d3c1608929605224fe= b26173135ff37951ef8 100644 >>>>> --- a/include/net/page_pool/types.h >>>>> +++ b/include/net/page_pool/types.h >>>>> @@ -54,6 +54,14 @@ struct pp_alloc_cache { >>>>> netmem_ref cache[PP_ALLOC_CACHE_SIZE]; >>>>> }; >>>>> >>>>> +/* Mask used for checking in page_pool_page_is_pp() below. page->pp_= magic is >>>>> + * OR'ed with PP_SIGNATURE after the allocation in order to preserve= bit 0 for >>>>> + * the head page of compound page and bit 1 for pfmemalloc page. >>>>> + * page_is_pfmemalloc() is checked in __page_pool_put_page() to avoi= d recycling >>>>> + * the pfmemalloc page. >>>>> + */ >>>>> +#define PP_MAGIC_MASK ~0x3UL >>>>> + >>>>> /** >>>>> * struct page_pool_params - page pool parameters >>>>> * @fast: params accessed frequently on hotpath >>>>> @@ -264,6 +272,11 @@ void page_pool_destroy(struct page_pool *pool); >>>>> void page_pool_use_xdp_mem(struct page_pool *pool, void (*disconnect= )(void *), >>>>> const struct xdp_mem_info *mem); >>>>> void page_pool_put_netmem_bulk(netmem_ref *data, u32 count); >>>>> + >>>>> +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 void page_pool_destroy(struct page_pool *pool) >>>>> { >>>>> @@ -278,6 +291,11 @@ static inline void page_pool_use_xdp_mem(struct = page_pool *pool, >>>>> static inline void page_pool_put_netmem_bulk(netmem_ref *data, u32 c= ount) >>>>> { >>>>> } >>>>> + >>>>> +static inline bool page_pool_page_is_pp(struct page *page) >>>>> +{ >>>>> + return false; >>>>> +} >>>>> #endif >>>>> >>>>> void page_pool_put_unrefed_netmem(struct page_pool *pool, netmem_ref= netmem, >>>>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c >>>>> index f51aa6051a99867d2d7d8c70aa7c30e523629951..347a3cc2c188f4a9ced85= e0d198947be7c503526 100644 >>>>> --- a/mm/page_alloc.c >>>>> +++ b/mm/page_alloc.c >>>>> @@ -55,6 +55,7 @@ >>>>> #include >>>>> #include >>>>> #include >>>>> +#include >>>>> #include >>>>> #include "internal.h" >>>>> #include "shuffle.h" >>>>> @@ -897,9 +898,7 @@ static inline bool page_expected_state(struct pag= e *page, >>>>> #ifdef CONFIG_MEMCG >>>>> page->memcg_data | >>>>> #endif >>>>> -#ifdef CONFIG_PAGE_POOL >>>>> - ((page->pp_magic & ~0x3UL) =3D=3D PP_SIGNATURE) | >>>>> -#endif >>>>> + page_pool_page_is_pp(page) | >>>>> (page->flags & check_flags))) >>>>> return false; >>>>> >>>>> @@ -926,10 +925,8 @@ static const char *page_bad_reason(struct page *= page, unsigned long flags) >>>>> if (unlikely(page->memcg_data)) >>>>> bad_reason =3D "page still charged to cgroup"; >>>>> #endif >>>>> -#ifdef CONFIG_PAGE_POOL >>>>> - if (unlikely((page->pp_magic & ~0x3UL) =3D=3D PP_SIGNATURE)) >>>>> + if (unlikely(page_pool_page_is_pp(page))) >>>>> bad_reason =3D "page_pool leak"; >>>>> -#endif >>>>> return bad_reason; >>>>> } >>>>> >>>> >>>> I wonder if it is OK to make page allocation depend on page_pool from >>>> net/page_pool. >>> >>> Why? It's not really a dependency, just a header include with a static >>> inline function... >> >> The function is checking, not even modifying, an core mm data structure, >> struct page, which is also used by almost all subsystems. I do not get >> why the function is in net subsystem. > > Well, because it's using details of the PP definitions, so keeping it > there nicely encapsulates things. I mean, that's the whole point of > defining a wrapper function - encapsulating the logic :) > >>>> Would linux/mm.h be a better place for page_pool_page_is_pp()? >>> >>> That would require moving all the definitions introduced in patch 2, >>> which I don't think is appropriate. >> >> Why? I do not see page_pool_page_is_pp() or PP_SIGNATURE is used anywher= e >> in patch 2. > > Look again. Patch 2 redefines PP_MAGIC_MASK in terms of all the other > definitions. OK. Just checked. Yes, the function depends on PP_MAGIC_MASK. But net/types.h has a lot of unrelated page_pool functions and data structu= res mm/page_alloc.c does not care about. Is there a way of moving page_pool_pag= e_is_pp() and its dependency to a separate header and including that in mm/page_alloc= .c? Looking at the use of page_pool_page_is_pp() in mm/page_alloc.c, it seems t= o be just error checking. Why can't page_pool do the error checking? Anyway, if you think the patch is the right thing to do, I would not object= it. -- Best Regards, Yan, Zi