From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E791288530 for ; Mon, 1 Dec 2025 22:11:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.19 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764627102; cv=fail; b=ZoehjXnalLPW9PwPHM58UvEPqpi4dc9Cn/1BPCiJpFt7Om/YMsDZtD0RYoZavpsY0mpP2R+7zqav92sEKnSJU9vyXMQNsyQFIsMDQspxEs1OIfXJ7vvFo9lO6wxj512gdVZoOp/hvnLkJpbcCELBegGJAMvD1EmW9hkiqteiNU8= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764627102; c=relaxed/simple; bh=LqO9flA6T5ZlYQdA/5GHTdz/cNr8RJZoLjQFpA4rvjs=; h=From:Date:To:CC:Message-ID:In-Reply-To:References:Subject: Content-Type:MIME-Version; b=DncEoF2HAEBlePDBVekH8kfnqO9eri9o094Op/2wCzxKFeNnjLY1q7cPi5zWOI4L8GfYmSeZLJwziL4bjqb7oG4B1GGZI1AfzgSPS8vKbC2OfKx3i2VNRp0IR5vR6T3eOfRDtMStj50icxMy/1yt53Ih4OvcLZMdzoxcQvkb2C0= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=K9xkiEpq; arc=fail smtp.client-ip=198.175.65.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="K9xkiEpq" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764627100; x=1796163100; h=from:date:to:cc:message-id:in-reply-to:references: subject:content-transfer-encoding:mime-version; bh=LqO9flA6T5ZlYQdA/5GHTdz/cNr8RJZoLjQFpA4rvjs=; b=K9xkiEpq2lzhImKAJ5dg2bRHqYKLze8xrO6WD7+/HI97azkjrTzzl1Nm jW5UWbgz4FUIUulgNmKt1zPvcYa5GRnuAaNBbG7b5R1hfvkLnFstzftXZ 3WUVz6AYS3UID+37VzWTpW9kvwLEqSHqvack1ZAJm0Mkl+NnWAFL5UCjq QZCAggh4F2cJHpkMYIQfYAuyYh7lULjthXXPga5LFeUKdXl0P8/vouuJ2 sFkKJvKDqElN56nXFlg8089vSMO2CbHItqBelMwQZSh1rsfUKH3C0xY61 IdQXDxjC8t+OUuKouyTCiPjlPAUFPrNtaGxOEjPX7+3i5TVU29jevBu4L w==; X-CSE-ConnectionGUID: GwBQ6ORmSbW2R1QAkkRr2g== X-CSE-MsgGUID: E8LTow43Tfm7Ny7VbbcPQw== X-IronPort-AV: E=McAfee;i="6800,10657,11630"; a="66474204" X-IronPort-AV: E=Sophos;i="6.20,241,1758610800"; d="scan'208";a="66474204" Received: from orviesa003.jf.intel.com ([10.64.159.143]) by orvoesa111.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Dec 2025 14:11:39 -0800 X-CSE-ConnectionGUID: RWJCgNd9Rxy6AQOqeah19w== X-CSE-MsgGUID: wb0q45MQRGa95i5CCfx9Gg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,241,1758610800"; d="scan'208";a="198393986" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by orviesa003.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Dec 2025 14:11:39 -0800 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Mon, 1 Dec 2025 14:11:39 -0800 Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29 via Frontend Transport; Mon, 1 Dec 2025 14:11:39 -0800 Received: from DM1PR04CU001.outbound.protection.outlook.com (52.101.61.33) by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Mon, 1 Dec 2025 14:11:38 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IMLER5HpwNThN4urZP5MdR3lv8IZS8aNDI7LvTq4rEH5yZgHRSecqfI3+qF5xUvK+DDFC3CFSFujEsOlWp0tCW0xRE72uQKE3j1/w1r8EGmbXxAb1qblE0sulIWcDjJ1iadCAirQGgMnw4KaADNNOgj/pDi76kVyC7dTi9cwDA1TKzXLKWC71kGdAu0eKaV8mBxdLuMysHbJH0XQ0chSNG8OAiKnJZmexPDlZWE4ir303J+1eC8oyBnIWgRdx2Ak4wyh/y3YR6lz+lo8lo5/izF/+Y3YhrJAKK/DfUzycHKBKlRRMQVve93FXDPj5+bNds95XBNHklCe/7jMGfBFQA== 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=aRAF/PNj63dkaLOGDxhgbUHrsIEK/cIZ+CozQ1oA4SU=; b=c28bBLKskb3J0wXXKEF4y7OsXf1SUAuEws/phQMln/0uRAZQqjg3O05cWpaAgY7K95rgLyhCdiFYFU07eh3wAn+tnBw+XW1K/+tJNTQeVz8q3dPRZkv5zIarzPYwxPN6IeDXcu3pQFnn885CpQjrL2keKoPbjWVaWUEInNQjBVrNZJXw/Uh7gBcNlhJLwimZvCa/Y4WD68w9B4C2aDITZ9WcSY0B4rlCU4eihnq24Cp9Rx6zykgWREgKm0I/KIR8V6zkNOKJ+ECUrZsle5FgfK6WBpCxCOsRm3RONS8+UnP/mYBRhlrA+5XOY3SIGzxGlkFLEPJGs141neqOMfXLhQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) by BL1PR11MB5239.namprd11.prod.outlook.com (2603:10b6:208:31a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Mon, 1 Dec 2025 22:11:36 +0000 Received: from PH8PR11MB8107.namprd11.prod.outlook.com ([fe80::1ff:1e09:994b:21ff]) by PH8PR11MB8107.namprd11.prod.outlook.com ([fe80::1ff:1e09:994b:21ff%4]) with mapi id 15.20.9366.012; Mon, 1 Dec 2025 22:11:36 +0000 From: Date: Mon, 1 Dec 2025 14:11:35 -0800 To: Balbir Singh , , CC: Balbir Singh , =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , Ingo Molnar , Kees Cook , Bjorn Helgaas , Linus Torvalds , Peter Zijlstra , "Andy Lutomirski" , Alex Deucher , "Bert Karwatzki" , Madhavan Srinivasan , Nicholas Piggin , , Message-ID: <692e1297e3b6_261c110064@dwillia2-mobl4.notmuch> In-Reply-To: <20250401000752.249348-1-balbirs@nvidia.com> References: <20250401000752.249348-1-balbirs@nvidia.com> Subject: Re: [PATCH] arch/x86: memory_hotplug, do not bump up max_pfn for device private pages Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR05CA0141.namprd05.prod.outlook.com (2603:10b6:a03:33d::26) To PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|BL1PR11MB5239:EE_ X-MS-Office365-Filtering-Correlation-Id: 8f7fc381-4cb8-4875-8f28-08de3126981b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?NXlCT0JVYUtKNldISkhocDBwNXNxV3JzZnBWT3Y3d092RS9LL0N2ckk2ZnBu?= =?utf-8?B?NE1qZVRWQW14YjNhQmdzYUpMWTgvOVRMM05WVW1KM0M3SDhvTm5XdDJrMk1X?= =?utf-8?B?Q3l0SHpLQVJEbEVoRlJEMzZLRzRQTXUwRVQ2djQwdzFTc2tKUEdFcEhUaTBo?= =?utf-8?B?VDNMYTlnNXcrMS8rVFA5TmpLVnJIVlhQWnkvMFVTdFpITlorVmNYaURpdVRn?= =?utf-8?B?d3ZSdWd4MkxLNWF6djVhL05OVG1yZ0VxcTl5dThtdG1kUmhocXFJVFlqVi9l?= =?utf-8?B?MjRBeEM5Nk1Na01uZUFoYmVGYnhyNGZWaERhL0k1UDRIN2RNMkNlMGFiaEJG?= =?utf-8?B?Vm5WWDVuYXRvblUwelI2RVhpYkhvZ1BDM1l2N1g4Z2s2VS9zS1Q4RHRrLzM0?= =?utf-8?B?VXZKYUZrdjgyanUwS3JHYzg4anNqZU1hbCsvbWkxcC9TRUxXMFB0RllnSjZq?= =?utf-8?B?VFhWNmJZb3NUQ1dZTUZrSGh3NmdKc2FnRjhPRWkySEZjVDVTVVFGUFZjU2pQ?= =?utf-8?B?QlI1NWpUUExSOGFYQVgzcTNCS090c1BKeEZXVE5qVGRIOWxyYTRtMjRHaTlq?= =?utf-8?B?VzVUWGtlTGovZ0dIanVUd1poWk94STNFLzlibHpVMEpBeFY3SC9kU2paemFO?= =?utf-8?B?Smh6ZWRwb2R4bWNMbitLOTV4bGxINFYzL0YzUUpHeVdmUFdPZkNGTnkyUisr?= =?utf-8?B?WG1DckJXdnF4bitvRTdRME5KdE8yT0R3dGVKZy93cVorMTE2cjlGK3V6N3da?= =?utf-8?B?NzJsbWp6Szc2RXgvZk5WcWVBejRjZGRoWkp6bDRiaGpHSzFraGFidGNaQ3Vl?= =?utf-8?B?NUMvRUhtQjd2SzRDYldjeHovMkZ1TVZOeGkrTEdJRkdpalVJTmJwYlZPaG1O?= =?utf-8?B?LzdReTBzUk5zeVo1T2RUZE44Q2RjeEhEdWlpbFNoL2xrK2FvcVNKaytXTHk4?= =?utf-8?B?UWVoSlg3TzhtUFoySkNGU2Q4QnVjTDRHbVNkN1BwWXkySUZHRHFDR2VCWDds?= =?utf-8?B?Y25wT3cxc1hSYWF6RU5lTTlVSXh5cXVMNDBjbjd1SkFoV2g0TUFqdk41V0R4?= =?utf-8?B?QjdMOGRoSkJjQlArRi9SanBtSVJQS3lUQ0lJcEZOZW90bWpBblJ0dy8wWlFQ?= =?utf-8?B?ZUw0U1l5WEE1MG5XcDhPN253Q2lFOUlZOUVSSUJqaEN0NXY3Y0poTE10dmxD?= =?utf-8?B?Ri9pYVJhci8ycTVlMDc4YzM3QnF0NDRmWTZRWVp3em82bUtPaDdaaW9ENVp0?= =?utf-8?B?QWtMeWJPeHViMFJQTVByd2lHTGVOKzVsaWUyd3dPZ0l6UVI0YzdWZURKV2F5?= =?utf-8?B?ZXRRZnhaQjdOaGhQUDVIV1QzUGRJWDVkSTk5OHdkZGhrbFJuV0g4NUUzRVJt?= =?utf-8?B?cU1DSXo1cno4QXQ2YXJJZjVlT1k4WTE3VjRPeWp3d3RTNGxaWTdwM0RMN3R6?= =?utf-8?B?ZTlBQnVydWRZVEhxMUZwUzFyNlVEMkFkS2FkNEI2Tk9xdG5IamZtWENrNEg4?= =?utf-8?B?ZVNwcVp0RmVmTWNEZFdraTZnYzBFeVM1dmF6cUNQTVJrUStCeFE4S01YTWZD?= =?utf-8?B?YzV4TUQrQTlTd2wxYllkRnVLQi91aG44d2MrOHFNMnZTMWZDOUhWR3JZandQ?= =?utf-8?B?T1RzUWRBVHRTVjEyWlhKaVpZc0lFMlIyUFpHbERFVEpabmdtREgvYmY0YTVW?= =?utf-8?B?aWwxR28zblBNcXpOTmxLbjRlNVZ1WFRwOVdXQ045azBraUFWR1kxWkZMRmVE?= =?utf-8?B?c2pqaGx2emFzWmYrSmt3QVk3UXhhOXFKOW5WeldPZEE5aWk3SnFXeFVselBj?= =?utf-8?B?WGhVZXp6aTR4TmZmVkVnM2F3YlUxWTVuSjljRVpMVVh4U1BPTGJBeno2S0dL?= =?utf-8?B?UUVTeTdsVkc4NmpJbmFpaUxNdkpYYnFDZ2pkQ2RCMEhIcGFQRElMZ1lSYmhH?= =?utf-8?B?WE1RaHFncHhuWVMxU3BFbmZsZXQ1UjR4bU4xMzJETFVrSEFBZnduUEVkT2J4?= =?utf-8?B?bjNMcWhrOGhBPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eitYSTdadjljaFV5MTFIQ0E2TzdxZW1TRS9GK1Jtc3pkRGFlOS96MjdyMHFB?= =?utf-8?B?ZzAzRXZuNFFYbUtKY253NzJMZGovMjlXSlpOdlE0UVBxMFhMUkpJdTNWbng2?= =?utf-8?B?bGRtbkIxRkM2Rk05dGRUSXJsVHM4K3RSL2oxb3YzWmlwdWJxSHVKVnQrS2Z1?= =?utf-8?B?L0lpVjgyWHVyUU80SWZEYUxaVm1CQU94RnBtQXQxTENyTTRqZHVRdTJxbEM3?= =?utf-8?B?U1NUcjYzUk1ydTREdW5WbVhrK0FuNjFvWWhPeG5VcHhSVlBEdTBSQWY3UGdi?= =?utf-8?B?YWRqUU82bWhabHZNL3RMMXhES3BMUUtYeGxvcElJdFVtT0trQW9rVi90U3JV?= =?utf-8?B?RlVLR3p5YTRadXB2eEJSbm1qV2tTQ2l0elhWM1ZQYmtzV3JEQTB3NlExYjJp?= =?utf-8?B?SFJtWUxoeWJKOEcya3BwcVJDQkcxSC95SkF3RDZwNUszdmpoMmlZUkZRT0xn?= =?utf-8?B?SXBXWDNiSEd5dzBOMUJwYmI3c3ZWbXV2RFdRaHJveGNnTENWWVBJTUJLa21l?= =?utf-8?B?TkFKZ2NXWGt3cmRnSUdseTM2S2s5TW85MDJEVUNVOU5oTzVsLzlrMHZ4RDYv?= =?utf-8?B?bFpEMkMyNUhFdWJlRDludUVSUnpnWHhjcGRWeVpRZzlEQVErY1h1VThXNC9Y?= =?utf-8?B?T2NwRjR1dnRSWmZkcnZ2UzM1dnp4WEdURTFVVzVUNTA2b0x3MGhhZFBOOVVC?= =?utf-8?B?VHFOWklMbjFhYmFtNUhYbHJSV3RILzcvVytna0tPbjBJRFFIbjdLZHc5QzM4?= =?utf-8?B?WWZKMnMzU2RkU2lrekQ0UENBWmhUMXZaRzNDd2QyaE5DTndySG1hZDVtb2xJ?= =?utf-8?B?UWRJdzU3L1VqM0J1MFd3MWlqeVQyVHJ4NkliVkF2RmxxS3ZXbW1VNTYzVGpQ?= =?utf-8?B?cUthaHlnSm56bVRqUmt1SnlrOERZb3NlV0w3amtpU3pzQk9PdXRVZWVMWmFx?= =?utf-8?B?dnB1dXZXVkRLSkNYbHZSL0ZXVFNJRXhsUUxtT2E1TnNRbGJzTDk0T2F0TUxM?= =?utf-8?B?aTV5L041MHpIRjlsR2hxbmljVnVheDFnVURpc2pGMTZqZGJBOUE5WnYzTkkz?= =?utf-8?B?MHliSXdaSVZORVZtNUhqY2RhZ29UanFqRXVSQWhibFp5enp5dXZza0wrZmpp?= =?utf-8?B?UTU5SnRMbHRYYVpvMXBMenBqWWN1NnYwamFaNE42U1JvNkF3cXljV0FTSWRH?= =?utf-8?B?NVpIVVRVckxvM1J2TnltM0hSTWprdERnZ0Z3TjgxckJ2K29aMnNoaTdXYkpw?= =?utf-8?B?MXAyaEIxTk9wNVFXa3Qxelhhb2svaGIrckt1Q01oZjRxV3QzdmVxWlczNGxQ?= =?utf-8?B?THl3bS8xbXdmTm5WOHZpSk81WjE2aVhUV1VCeml1UzVRU0hTVjhPSHZsZ1Iz?= =?utf-8?B?U0lpYmsxa0pSMGQ4YlMwbmtxblRTSUJjUkllYmpWMzB4UWNkRW5nRzF0dVdU?= =?utf-8?B?U0oxYzgwRittKzFZWEl3NHF3R1ZRclBRbnVnVXBVeXRIdERhdnFvNXBnd1Yx?= =?utf-8?B?RWFVbVV3VkVMdzkvNHRkd0syUWtSTkxhY0cwcjZhczFwMnZOODREVXZVSVg4?= =?utf-8?B?dE1wL0FGTDRaWnlER2RGNit1Y2t5aXVWQ094MVErRVY0eUNtcHY4OVdvSmE0?= =?utf-8?B?MkNsNy9XemhsM1VxdUNRL1FsUlg3ODdmUGhIQjhjWkd3Z3FySTRJM2dBUnhh?= =?utf-8?B?cHZ5YXByaUdzODVzZklEQndQRm10OUdwaVliWWs4dXpnTkZOZXRtMXVjbFBk?= =?utf-8?B?Y212ZDRaRHVVMGpkUUdCU0grdGhVWGVCeW8wMkZkSzhYQ0dkd0xKbGpKYTZD?= =?utf-8?B?VzJ6RUJsdDdrbEdLcWRUaDdMNVJoMmkrcXc4ZmJvSEhiNzcwZzZpL3hBejJJ?= =?utf-8?B?UzY2NlhKbVFqTnN5NDdRaUhlRFVqeUMrYUk4Ukh1OVdoYmJuRHk0a3BaVk5h?= =?utf-8?B?MjhmcmRtWFRPK1BIaXR3WHpLL24zSzh6SmcwRUF3elVPeFk5akNsdzBvQlIz?= =?utf-8?B?YzdoR3RKNDF0eUc2c3Fra3VSYit3ZnZVRUIvLzBFMURXY3pKZWcySU5iUGMy?= =?utf-8?B?M3orS1FMZ2l5bC9DamVsMU41Mk0yUkVNdkhhcWhrU3NMdjdrdEhZUU5OZGtZ?= =?utf-8?B?bE9ERzgrNmtDN2ZybE5TSFJEcnJVaWhlVERQbGV0ZmM3Qkl0dld6OGQzT1Rn?= =?utf-8?B?U1E9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 8f7fc381-4cb8-4875-8f28-08de3126981b X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2025 22:11:36.6726 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /2Zx488yHdySJkjgosW5iK3ZFexL84xG5OA0OQnuHJ8vbF7E/Ezd79dD8N2ddwA8aOK9RnXwPwQD/J9NZYMIKt4s30qkwUyWO4pSI9mP6/o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5239 X-OriginatorOrg: intel.com [ add Gregory and linux-mm ] [ full context for new Cc: ] Balbir Singh wrote: > Commit 7ffb791423c7 ("x86/kaslr: Reduce KASLR entropy on most x86 systems= ") > exposed a bug with nokaslr and zone device > interaction, as seen on a system with an AMD iGPU and dGPU (see [1]). > The root cause of the issue is that, the gpu driver registers a zone > device private memory region. When kaslr is disabled or the above commit > is applied, the direct_map_physmem_end is set to much higher than 10 TiB > typically to the 64TiB address. When zone device private memory is added > to the system via add_pages(), it bumps up the max_pfn to the same > value. This causes dma_addressing_limited() to return true, since the > device cannot address memory all the way up to max_pfn. >=20 > This caused a regression for games played on the iGPU, as it resulted in > the DMA32 zone being used for GPU allocations. >=20 > Fix this by not bumping up max_pfn on x86 systems, when pgmap is passed > into add_pages(). The presence of pgmap is used to determine if device > private memory is being added via add_pages(). >=20 > More details: >=20 > devm_request_mem_region() and request_free_mem_region() request for > device private memory. iomem_resource is passed as the base resource > with start and end parameters. iomem_resource's end depends on several > factors, including the platform and virtualization. On x86 for example > on bare metal, this value is set to boot_cpu_data.x86_phys_bits. > boot_cpu_data.x86_phys_bits can change depending on support for MKTME. > By default it is set to the same as log2(direct_map_physmem_end) which > is 46 to 52 bits depending on the number of levels in the page table. > The allocation routines used iomem_resource's end and > direct_map_physmem_end to figure out where to allocate the region. >=20 > arch/powerpc is also impacted by this bug, this patch does not fix > the issue for powerpc. >=20 > Testing: > 1. Tested on a virtual machine with test_hmm for zone device inseration > 2. A previous version of this patch was tested by Bert, please see [2] >=20 > Link: https://lore.kernel.org/lkml/20250310112206.4168-1-spasswolf@web.de= / [1] > Link: https://lore.kernel.org/lkml/d87680bab997fdc9fb4e638983132af235d9a0= 3a.camel@web.de/ [2] > Fixes: 7ffb791423c7 ("x86/kaslr: Reduce KASLR entropy on most x86 systems= ") >=20 > Cc: "Christian K=C3=B6nig" > Cc: Ingo Molnar > Cc: Kees Cook > Cc: Bjorn Helgaas > Cc: Linus Torvalds > Cc: Peter Zijlstra > Cc: Andy Lutomirski > Cc: Alex Deucher > Cc: Bert Karwatzki > Cc: Madhavan Srinivasan > Cc: Nicholas Piggin >=20 >=20 > Signed-off-by: Balbir Singh > --- > I've left powerpc out of this regression change due to the time required > to setup and test via qemu. I wanted to address the regression quickly >=20 >=20 > arch/x86/mm/init_64.c | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) >=20 > diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c > index dce60767124f..cc60b57473a4 100644 > --- a/arch/x86/mm/init_64.c > +++ b/arch/x86/mm/init_64.c > @@ -970,9 +970,18 @@ int add_pages(int nid, unsigned long start_pfn, unsi= gned long nr_pages, > ret =3D __add_pages(nid, start_pfn, nr_pages, params); > WARN_ON_ONCE(ret); > =20 > - /* update max_pfn, max_low_pfn and high_memory */ > - update_end_of_memory_vars(start_pfn << PAGE_SHIFT, > - nr_pages << PAGE_SHIFT); > + /* > + * add_pages() is called by memremap_pages() for adding device private > + * pages. Do not bump up max_pfn in the device private path. max_pfn > + * changes affect dma_addressing_limited. dma_addressing_limited > + * returning true when max_pfn is the device's addressable memory, > + * can force device drivers to use bounce buffers and impact their > + * performance > + */ > + if (!params->pgmap) > + /* update max_pfn, max_low_pfn and high_memory */ > + update_end_of_memory_vars(start_pfn << PAGE_SHIFT, > + nr_pages << PAGE_SHIFT); The comment says that this adjustment is only for the device-private case, but it applies to all driver-managed device memory. Why not actually do what the comment says and limit this to DEVICE_PRIVATE? I.e.: diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index 0e4270e20fad..4cc8175f9ffd 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c @@ -989,7 +989,7 @@ int add_pages(int nid, unsigned long start_pfn, unsigne= d long nr_pages, * addressable memory can force device drivers to use bounce buffers * and impact their performance negatively: */ - if (!params->pgmap) + if (!params->pgmap || params->pgmap->type !=3D MEMORY_DEVICE_PRIVATE) /* update max_pfn, max_low_pfn and high_memory */ update_end_of_memory_vars(start_pfn << PAGE_SHIFT, nr_pages << PAGE_SHIF= T); =