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 3C1C3D15D9A for ; Mon, 21 Oct 2024 14:21:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B962C6B007B; Mon, 21 Oct 2024 10:21:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B42916B0082; Mon, 21 Oct 2024 10:21:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 96EA06B0083; Mon, 21 Oct 2024 10:21:50 -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 767186B007B for ; Mon, 21 Oct 2024 10:21:50 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 20DFE140533 for ; Mon, 21 Oct 2024 14:21:34 +0000 (UTC) X-FDA: 82697822466.13.8A788FF Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2066.outbound.protection.outlook.com [40.107.95.66]) by imf27.hostedemail.com (Postfix) with ESMTP id 346E940009 for ; Mon, 21 Oct 2024 14:21:32 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=CpLquCOr; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf27.hostedemail.com: domain of ziy@nvidia.com designates 40.107.95.66 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1729520396; a=rsa-sha256; cv=pass; b=sl+2X8QsJZDoFcVmf8zy8AynzfjjHjxtxmH7DndCcpgajoQMqw75/QTIaOlWItCzLXHOJj rYizgnVbs6lw005cKKNNhy075lgLSDBOdMT6ke9MuMO7b8isfZYJqXSInYDgrq/eHdh9Sd HLJ9NrYtyjehFB6R57pZIjPfRHZcuuE= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=CpLquCOr; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf27.hostedemail.com: domain of ziy@nvidia.com designates 40.107.95.66 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729520396; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=d2jjRBres8gDtVCBv5yI/18rzcIGuN7gZO3Qj5b6gcM=; b=y5lcX7k7ESiZAVgnaUJSdoURqeXlvez5HOUzoeBaxvOf8HAzOhR/1f/qdXbnJPjI9pp7lf cctvoYjUojL5MIwZyMiFjNsp3nZbWJ//wwH4t0HMTi9441qwqIkNzwRxUP7F9MSDzSKdJy 7Dt6NBMw4OmD7fk7ry3ViAXAoZvYOuk= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Mi1Ioj7aYenOSO6nNLY36VnPxkvTm/ev4vsnxQLj1Q5UZLSbJClKrhpuA7fTQa7WVKZiML54wB+DMcTlskGpcvBk6QGSozuQORaQ7a5ixClfVHvY5e+iJ72V4UZdzIcyw3uYIoYs7hQFD2fw+tvTnpVkITjYZM7Wmoe4pEzd7WmlpyYztTYCYZHXLjttV0mNIAsDmwCowfNmkSTRhk4WE0tA6nMf8qfrSUUsq3KXuFVWaYmnGcM3WIwd4AFDzMO6p/KrXYBr3w+Mb8t06Wg0QFnm/tGrxErgeIjCA9//YPSqdGCtO8vrmMc+mVdPm6W+0hIdz9LopmB3otAoCmBS0w== 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=d2jjRBres8gDtVCBv5yI/18rzcIGuN7gZO3Qj5b6gcM=; b=zIEldCAvM1UDDIPRyu0UOj1xiZVj6KuiS98x5XpitgXXqE7zTsbFR3iqNBm8OH6HlrXLwUAmgrLHEepdJpLo1YWr559kTp5TgWfvaVBc5sS88e6hn0ReRFqDuehwDs4raPrI8QwBRw3lo40Nq7t8hJvm1O6t3aEzGRaf6oyryXUABJL+XMKt6BJP12ivxfiMeNkj9jIK4waRqxlwu9H5+2148JwlyrdQd6wQU+qJMo/ZSeLTcPFladgiTteIW0H4pO3qJtCgRHWGNMhKLg4RMI+SXGabv8RVKEHsg4IiglzR7uo7DubhsZiAuERwVWoMpBsJkG/XA7bOtSYgPJtaNQ== 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=d2jjRBres8gDtVCBv5yI/18rzcIGuN7gZO3Qj5b6gcM=; b=CpLquCOrKn/H7+Ymg4I28uP3N5WmikQsFjGC8eGhzzCvpEY5DL8pGlcgGC+d9xqiOJzrOckmA/n5Rmakk2TEr46vo5/EpHDoTEMPb99LyAzFIFq9Jquck6lvbTqzMWxkHIMqgShV+li2dWwWN9/RGb/LjOP8DBzKm1ncTAVtfuGo36qvSXbrWRsDkrz/3PDbQrLqLrH5vVGjDGUu/9/8x82MMIvnbpRG+ObbTk7SKm7n4/R7mkGPOX0hA3v+cGUeyzv8JzmhrUqY9ewtPCnwrZcundRpoIZDnQD3utzQ2Uf8/HOAzuZit+IrHZzrpDFHwGsOONMJ6KqIKvyVzifddA== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by CH3PR12MB8546.namprd12.prod.outlook.com (2603:10b6:610:15f::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.28; Mon, 21 Oct 2024 14:21:43 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%7]) with mapi id 15.20.8069.027; Mon, 21 Oct 2024 14:21:43 +0000 From: Zi Yan To: David Hildenbrand Cc: linux-mm@kvack.org, Andrew Morton , "Matthew Wilcox (Oracle)" , Miaohe Lin , Kefeng Wang , John Hubbard , "Huang, Ying" , Ryan Roberts , Alexander Potapenko , Kees Cook , linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: avoid zeroing user movable page twice with init_on_alloc=1 Date: Mon, 21 Oct 2024 10:21:39 -0400 X-Mailer: MailMate (1.14r6065) Message-ID: <7762D266-82C6-48E2-BF80-211413BDA1EB@nvidia.com> In-Reply-To: References: <20241011150304.709590-1-ziy@nvidia.com> Content-Type: multipart/signed; boundary="=_MailMate_6BBA8066-D75E-4FA5-9A56-2E289A520C57_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-ClientProxiedBy: BL1PR13CA0324.namprd13.prod.outlook.com (2603:10b6:208:2c1::29) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|CH3PR12MB8546:EE_ X-MS-Office365-Filtering-Correlation-Id: c47ac52b-3009-429f-9eb8-08dcf1dbaffa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?6VmgXncaF/x6wwuJ6vGPYO8y8OrDGnj60OEwsBJe4F9AzJQFiBYcU/DqWEt5?= =?us-ascii?Q?s7t7pIICiVg7OfUXNWA5XEi4ykZd4npzmCDexj5/PvMKOjsAo6yL0BoI3HCU?= =?us-ascii?Q?hcTgaaSWCwIqdYUnni0qMIJUn5nyjzhytGaDHZv7VIoPEGfaUGw4guro/VHY?= =?us-ascii?Q?j6oG2tuQd5wr4fAokV3fCpGakHy2pIf5LHPTcpajwbavmhW7uMkXYtwLrN3D?= =?us-ascii?Q?cEwKGdBPUmUgzK+WsxrBlq6OL6K878hZw9YSfKZIVjm+d+iqRBXwJpFvMzlN?= =?us-ascii?Q?9hmkug8+Py3XlTDlYpNXlOSyG0PRLYMb3UM+ap+TlcdJoVpXUGpIpEOOWQ6b?= =?us-ascii?Q?dpNUm93AmlASEGTKjrO5EH308FXl8yDstjYgbrDh34WgeH2GPjnTvjzVrNdu?= =?us-ascii?Q?n2/6v2MPrGzi2Wz5EEH5W4df9PquUSjulQA8aClFNg99ic4RE7q8Cm1dtdtx?= =?us-ascii?Q?LMN0CUf1KSh/hfuaH+liPkevjoDZvZOVGLS+Tok6NvxE+ftLhHUw6KMfJgdF?= =?us-ascii?Q?s7sUUE/YtG9jXKNfqVty4HKtWi5PBGdwp8/w3J3XmQriMYXuFrYLT2CWMHaq?= =?us-ascii?Q?oOivg3AOHRS7qtQkY7B5UwnFapQ6QRei2Ql6I93eHolAueO0QemaeX7QRrMo?= =?us-ascii?Q?9KOEWz6cIj1klcsU+3s1qPdBcGfb4+LHT7+CGU1CPPDBAMoYAB9CWQVerhhc?= =?us-ascii?Q?cXu+8lZClgd/L5eHLl6T8NRBwlJejLggWyeC7gcdC7STRLVO3falQqPg1Rau?= =?us-ascii?Q?fHm4raI2jPZH/mdawk9tOcb58IvVAmgFYJQYj5Yl4LtC4pIx1Fm/GVhnwUr+?= =?us-ascii?Q?JUhStG5LLJLievHn8uljkJhLq78Parwvz8KLf50eWIV65axvkQIo33JPuAEb?= =?us-ascii?Q?DxMVUiyRZrtCIXBay+KpES/Uh7ZzLF8LMRsfL67k59tW46LNBANQh1fh4Cqp?= =?us-ascii?Q?0EtHtrGvKngjwt9EgtVu1ImD5UXKpoMf7j5C1MlAn3UYfEARWPBgdKliumos?= =?us-ascii?Q?7YFYXIva9jNdOCQWYRmUy0u0g/NuwklMWmqQ5UMPjQ2cwfizlncQlOqDHmIr?= =?us-ascii?Q?/3Ll7boYeJd+T1tL2f88xCnA1K1oLhw8CzayQhB/ouMRS3iyyZSLTzlId2/V?= =?us-ascii?Q?6Fw8qaQ61rkN0rgY6EL80eKhhxQu/RhwgWuXLIHlq3Y8PSFE4hJ23HoWoA2l?= =?us-ascii?Q?BSrohAAPmJZTT2pHpKa9JWhqS9qfTnjotK1QiFVUqjNZ2jjjs04Kc7EOO3Ll?= =?us-ascii?Q?OSSkH7YCEq/cgwUdM20wtBptw04xP2HmbGwKqzi9e3riI3Pk+aUirWHD5r4O?= =?us-ascii?Q?vvbBEZ4krxpoj9/26yT+AtcT?= 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)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Cm8g3mX7rOKwf+tY+SBbi/jArthRWH8hpIhL86JvUWI4IO7kUpuKEZK5MS6q?= =?us-ascii?Q?FJ4/onkOZVSyAoU+ohegUX6rnDMuFdZMsOthMWN9pA37fVtGp8rTjN4ZxfiH?= =?us-ascii?Q?R+Qb35fvsbuZWuEL6Wi0RoEtWN89If1wQuiKEm5pGU09ABUEhb7OEU8OYo9F?= =?us-ascii?Q?/7bZLhtE9eqnJtaywQ5fNZsFA3VB2ADKxNighXmf4ztJxCdxAWezn58B3eYB?= =?us-ascii?Q?rfw6t8aC7d1fue+I56vDTEEgPe0Dk00Wn8E2f6brNw1zkZv1IPILPbe3SBeV?= =?us-ascii?Q?sANtMqsnE7n+H0dVD9a5VYP6ZHBuVm/oSTwAriLuPiBcFqK4u9lhSHFnCVht?= =?us-ascii?Q?87ghMgtsuAHpbhfiIN9zqiwG3RQ+05Akpnn0f8fH/8JUpNv4tL08ZZvLRYqc?= =?us-ascii?Q?wBMEyCIAzEr1FwUrvhSlA5MNULF4Eu0jYq92nDNTsbGMM795dbhRnj/Pv7A9?= =?us-ascii?Q?sLpB/+zXHBRObOzXonw5IRfyNkOOSM2DgKOFr1O8ilR+dvvCR4vHlzVpZf++?= =?us-ascii?Q?6UnQjlXzjQPrCdiqWbGNBOmFjtlF0n62Q0nLQYX/8uJ8pJr6XI2M1y6iC9fS?= =?us-ascii?Q?nOF2x0zuAqvgVn/YLgsa4e9dyfVLw19xcm3XEUBkkjBYqnh5Ks4eXgC8/5af?= =?us-ascii?Q?qr80Hu1OWtb8BGArOwOT3JC9LZEE6yojuKXN4OVj0Ol5Ts6Y9OXcX+rhpq75?= =?us-ascii?Q?oOBzmnyHqNf6QCohuAsZhf6dYmBW10TiVDx57MsvQ4zCx8UTR3jXssJ7DaCU?= =?us-ascii?Q?Iuupq61kKO+FNcubarET1/og489u8QYWgDUhyfBthGGhgBh2klkbyGArFnHf?= =?us-ascii?Q?i5iUQt7GYtgkR8lIrbSYLMAXtKxHEGRjQjXrs6iUYQpA8+Mpfdq1mJwAb/g1?= =?us-ascii?Q?s2OvbmxTygYgz5kCiL7v37kOBUw10aGqB7awV0mbdk2KOfYjDqb94c2ya8Gp?= =?us-ascii?Q?Rvt1GFzBLnEOdLqd3TRBsAhcaz9tigbdb3Bly/Sh3c0jdS8/hAZ6Pnz47Nhp?= =?us-ascii?Q?InI/OrcTXnOFIrLcHLxKXSruH+OR7eE+xHGEjrzc/jMaZK9SWFtPTYS9TIn+?= =?us-ascii?Q?WjerDoKeSv90nn97vVFXQdCV9DRp+JO4NCAetCxpGFrRyeZ7sKMllGIQyand?= =?us-ascii?Q?som58Jv8tWuyeC9IPxxewY5BTT7XJri4gvBfYID1VH3+WcDy0GGX4SHMD5rd?= =?us-ascii?Q?ixOHXMBLGSqtoC8it7+c+bHAVi4UxyUC5Kxwh73FiJpfgswtHo8YqKk6zEhN?= =?us-ascii?Q?f+fLVV+p3rOf0ExDmrQnMlUlkkDQGpMofGESB2Pz4nDYoPDCE1+TUWQdsKWA?= =?us-ascii?Q?ubQUSit8YiCSUuS9kAR0jKGR8W2kXsLp2pZCIan7QiQickdkigKlDjxeeHyd?= =?us-ascii?Q?8401AulwRZQ2lZKjcx0k9zodnpx4B+Bx2qm8mtZWytrfdOtlg+5JH/lR+hlc?= =?us-ascii?Q?HYXZRSLJKyOgrAqo2rSrWj3+Y8jtFNAYlmtgn+d5p/F1pK3pRD0VNCNFroLk?= =?us-ascii?Q?VNvMVRgUqtlH48HxRbkifiN1zhYPGIR6uLbznwnOR+a1rqw8igjE8lpleJh+?= =?us-ascii?Q?965X6AH0E5rJZv0muSqvcevUc1XvrU7WrBEFIG/O?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: c47ac52b-3009-429f-9eb8-08dcf1dbaffa X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2024 14:21:43.3775 (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: r7kkx+cJWX+ajMypXO1sKecFjg8M82wMw/ymMDDX1GKXlkrcGihbBXV28mUH973O X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8546 X-Rspamd-Queue-Id: 346E940009 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: hzb4i6mxcid8abskqd6y3yujshjzx5at X-HE-Tag: 1729520492-10386 X-HE-Meta: U2FsdGVkX19BGQ4aY1SzQrnbx6ckHkf56pzvWBIqIKH6Z7DlTP6lBoQytYZIKJzGBmLjilR/SyDsThq12dzy5gtbv308KPFdcd4cekjfdX6+SBlDMivcz3gSQ0YfV6+dvjSH8hPE/pUFxBnPxN9UJFwicl+WdMqkYzfLteiKLdxXZkHZ+8PMFkeOMJKk5f4RP+LSAneuOksWL476G2jz0RbVHmC2Zhgco68Hrb3bSBVfu1lDSbtN4owg5AYk0RoK8dkyahZevqcWWyITYZnSCA7d8qB6aSN1+0CqJwFta952mdWkcYGhhCSUawEdOXNpVoJsAjYfhNB53i9Qnqv6kC3ChD5Fb7ox5om4RQ6UoPp2gOAi27skIv8jGubN5w/CU6kG2Fm7FVKWhfyxPkjBgczcF3LZKbyXiaFEOmeGcPIgB/D2yqJDXltimbwt6Vbw7Rp0xBTlQFUxDBQK1+1HChPgmE4zI1BVzY01R7FXwyUOlkQFieTkWkdscWfH6Lat74nLWjog1uUzKNh15T0R12DcVAfHSBpEIYOSO0kfHMq/Rrmc9VfBcNX3hXJ8GWSbI6tK0fHgGxk6Eigj1qC0STz826Tt6hB9JoyrNr+U1ERVY3TAtTBnGS8GR8Xk+OLaL8jMjovCybRJwkL7OMofPje0QAfYZ2T5x1VG0mUwds0D8/ukPOwrAFqi/7JeQ//NHoxsu4emM2QmIipuRQHn6kvCl4ZmjOGDzZSPFpnIsVipQro2/4n9NQPG5Ohb0hzSqaePTiP3RPJoK2k2fW+zPArOxzvW4/j5Ja8qHjxKhRYzfEsl4/8X8FJ0i7OlToqG5fJn7A6D22lH8eKh9dwZOiAkx1Ekuao+9lu5+fKrbm5aPaa8QJUDHyWO17rus2PlvzyJK6Ioe5VIKwCHcqOQHm2ISXXRBqlClVmM0SIvIx+J2xz5suMDa1jnUrEHK2iNvDwHJ2N987cIa83H50G xBvGisA0 uWo9ElK6GJwvKIKWD0AhZL+1sBDjdJi2aaU1yQJHAGFUrgc0yn6n3fgfXCahnukeLJD25ZZLJa8TCvMN/PUx3o2EqwFnevy9atw9r49d7Yixh7Hcdsnweu6bncs0JzIFFviY9N/BIbnoPN4WOTKaUnbX6neDkcq81abp2JOPfppHUwAKqDeNrxPcxYKqmsvdyClwRe0Y4wLoefKP6Jb25xwnc2MmDi2XBsndQo/ViSH8pXkOQiPgFOd2Iq2pYAtM58S74t2ldFoB3vTizYgUpSI0P1fwKr3ra5ylB8lomUDRPrQjwRqn0KF8XU2Jc3jm6ZoXtU6k6kCa5pnnSBKMb1X5kqfqYwYiIra5Tz+KOv3OtfzZQE+qbrXGKgmVr/hGeniZm5/0lMcrie05BHqs6lCJHHeIRGi/hV9tcY9UYFbBeS8yxeJYVeNzMIOBuCZLF8ETFT1ak9rm2AfnfKO4D7dOm2UheXF0pU88UXDKvW2eqWes2h6pbNwq6tA== 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: --=_MailMate_6BBA8066-D75E-4FA5-9A56-2E289A520C57_= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On 21 Oct 2024, at 8:23, David Hildenbrand wrote: > Am 11.10.24 um 17:03 schrieb Zi Yan: >> Commit 6471384af2a6 ("mm: security: introduce init_on_alloc=3D1 and >> init_on_free=3D1 boot options") forces allocated page to be zeroed in >> post_alloc_hook() when init_on_alloc=3D1. >> >> For order-0 folios, if arch does not define >> vma_alloc_zeroed_movable_folio(), the default implementation again zer= os >> the page return from the buddy allocator. So the page is zeroed twice.= >> Fix it by passing __GFP_ZERO instead to avoid double page zeroing. >> At the moment, s390,arm64,x86,alpha,m68k are not impacted since they >> define their own vma_alloc_zeroed_movable_folio(). >> >> For >0 order folios (mTHP and PMD THP), folio_zero_user() is called to= >> zero the folio again. Fix it by calling folio_zero_user() only if >> init_on_alloc is set. All arch are impacted. >> >> Added alloc_zeroed() helper to encapsulate the init_on_alloc check. >> >> Signed-off-by: Zi Yan >> --- >> include/linux/highmem.h | 8 +------- >> mm/huge_memory.c | 3 ++- >> mm/internal.h | 6 ++++++ >> mm/memory.c | 3 ++- >> 4 files changed, 11 insertions(+), 9 deletions(-) >> >> diff --git a/include/linux/highmem.h b/include/linux/highmem.h >> index bec9bd715acf..6e452bd8e7e3 100644 >> --- a/include/linux/highmem.h >> +++ b/include/linux/highmem.h >> @@ -224,13 +224,7 @@ static inline >> struct folio *vma_alloc_zeroed_movable_folio(struct vm_area_struct *= vma, >> unsigned long vaddr) >> { >> - struct folio *folio; >> - >> - folio =3D vma_alloc_folio(GFP_HIGHUSER_MOVABLE, 0, vma, vaddr); >> - if (folio) >> - clear_user_highpage(&folio->page, vaddr); >> - >> - return folio; >> + return vma_alloc_folio(GFP_HIGHUSER_MOVABLE | __GFP_ZERO, 0, vma, va= ddr); >> } >> #endif >> diff --git a/mm/huge_memory.c b/mm/huge_memory.c >> index 82f464865570..5dcbea96edb7 100644 >> --- a/mm/huge_memory.c >> +++ b/mm/huge_memory.c >> @@ -1176,7 +1176,8 @@ static struct folio *vma_alloc_anon_folio_pmd(st= ruct vm_area_struct *vma, >> } >> folio_throttle_swaprate(folio, gfp); >> - folio_zero_user(folio, addr); >> + if (!alloc_zeroed()) >> + folio_zero_user(folio, addr); > > > > It might be reasonable to spell out why we are not using GFP_ZERO somew= here, something like > > /* > * We are not using __GFP_ZERO because folio_zero_user() will make sure= that the > * page corresponding to the faulting address will be hot in the cache.= > */ > > Sth. like that maybe. I changed the wording a bit to fit the if statement and put the comment i= n both call sites. Let me know how it looks. Thanks. diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 830d6aa5bf97..b304bb3ffcef 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -1180,6 +1180,11 @@ static struct folio *vma_alloc_anon_folio_pmd(stru= ct vm_area_struct *vma, } folio_throttle_swaprate(folio, gfp); + /* + * When a folio is not zeroed during allocation (__GFP_ZERO not u= sed), + * folio_zero_user() is used to make sure that the page correspon= ding + * to the faulting address will be hot in the cache after zeroing= =2E + */ if (!alloc_zeroed()) folio_zero_user(folio, addr); /* diff --git a/mm/memory.c b/mm/memory.c index 0f614523b9f4..42c8bb5fcd8e 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -4719,6 +4719,13 @@ static struct folio *alloc_anon_folio(struct vm_fa= ult *vmf) goto next; } folio_throttle_swaprate(folio, gfp); + /* + * When a folio is not zeroed during allocation + * (__GFP_ZERO not used), folio_zero_user() is us= ed + * to make sure that the page corresponding to th= e + * faulting address will be hot in the cache afte= r + * zeroing. + */ if (!alloc_zeroed()) folio_zero_user(folio, vmf->address); return folio; > > Acked-by: David Hildenbrand Thanks. -- Best Regards, Yan, Zi --=_MailMate_6BBA8066-D75E-4FA5-9A56-2E289A520C57_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEE6rR4j8RuQ2XmaZol4n+egRQHKFQFAmcWY3MPHHppeUBudmlk aWEuY29tAAoJEOJ/noEUByhUPWsP/i7mLDKdNzlabxPHLT9Suj2+GdYXc6j5QoJx SBtFljE+gngdzo9g7YUNTJrXS9LmMSrgJkgsuko86IdOMf6OcdVkgeaie9MFGqZY BdiztgrncPB0E0PQmEz+XDEsqNynBcCUaMIO4xS7aCy9jaZ2OH+ECeMJS/jbEM3+ VXvPkDta6XK5GBN61vbi4c3NxdPY/vVoRon28YEZXSk4bATSNSAr1qnZvZKK4x/X /gpy9lYrGB8JeHoUL6TLn3g9AUrlWZsgbCWgWoGmnMhWj8zYR88BSfdyyqzBQB8e Myo3M8pNq6YGOI3awgQCCrvsgp15BrdATxsCmkAfys4VM9YcWGhQ9ysbW5ANX1DV r0TGLCypQZtOiDFlwP+RZgERx89+e9UsheeZyhVSkw48u8McOV8PeHEomx4LkUei ADtpZJQkUt89CzRV0Nc5GgapCFvZRAQuzMoVWD0wAbUSdoBMBDQyBzGWoAaJNfUn XhMb4CHkDUzJtNV2dhfIBBkr9OQj/OlTdfq8Pl0Lfk82+dNWG58RjF7goqApT35U LCG5dohvOgKPFpU/NtWGl+5VoXdUioXxUWQeJm4r8I4l9pjU8GMiyjkUIyqAysdC hhbwiuWbpIUAysNy4bSfvyk1seZZr02WJQM1rUrwdofACzlxhcxVOJwjJn4cX4nE IyWscRP6 =+F1c -----END PGP SIGNATURE----- --=_MailMate_6BBA8066-D75E-4FA5-9A56-2E289A520C57_=--