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 4356DCED278 for ; Tue, 8 Oct 2024 14:58:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D3F546B0089; Tue, 8 Oct 2024 10:58:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CEF2F6B008A; Tue, 8 Oct 2024 10:58:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B40D16B008C; Tue, 8 Oct 2024 10:58:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 8F6F36B0089 for ; Tue, 8 Oct 2024 10:58:56 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id D12BFA0362 for ; Tue, 8 Oct 2024 14:58:53 +0000 (UTC) X-FDA: 82650742272.09.EDB4D73 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) by imf20.hostedemail.com (Postfix) with ESMTP id 1D0341C0008 for ; Tue, 8 Oct 2024 14:58:51 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=QeGJCrVL; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf20.hostedemail.com: domain of ira.weiny@intel.com designates 198.175.65.17 as permitted sender) smtp.mailfrom=ira.weiny@intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1728399433; a=rsa-sha256; cv=fail; b=GZZ43D2NHEWm6pg2YwvD8Cq72WNFo1C0jTD6TgNXsG/g4fcvkErNtkS+IRzXZfPsGoxakl Tj32dRm19+IGxHsGGIv8FOluj/HtK1eNN8fYNq5wyqhuTrGIdZPcX9vVmuIKenkQPfC7ur ahos4PRXDd9udYrlS7fPlboJ9AYmTU0= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=QeGJCrVL; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf20.hostedemail.com: domain of ira.weiny@intel.com designates 198.175.65.17 as permitted sender) smtp.mailfrom=ira.weiny@intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728399433; 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=iDVEi7RPeqjN41aHMmPY+oXOkXm0JH9izotJJ8ILPio=; b=MAoLaJD5rwPX3+KgB5SE1kjmCVQkVbsX2wl0sEWhA1EgompLUtkVPBm58tPjLlOvX2apyP RCw5D48tug5pEjbW7LLpU1gCPXf6gfAJGgRdXweL0I2OQ0HfkzEX2XU606Gc3mWakd80FN zg6WvjIf0i/WTc0uzKzV7awzfVj9NMc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1728399533; x=1759935533; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=zKvvGQrBWu63d0PZymISPFcoA7FBqD9dlsnVoY1naV0=; b=QeGJCrVLrcuFtEZh9bmMoG85qcL4v2qdXSYtylemUEcs1stSh+HadTor +SbPCFWHpLtjgom5gUkzfyic5GAp/Kh0zz4u3Lpp8Ygx5PN/tVDA7Q7nX RTNdXL0zMQ6xybO0wRPrbsi7KrqjuwC+kbErf4BfKBHGzlkAAb8vPa+LH Fbrm8D6ItPb/uz1dzCpTQ6DxNpmoQ/GcIfyFKHv3zgluKOj8M51nTPA9W 1jUtdcJ142uDf6AWvdjIUzQqrPZSOVr27rum7GbIe7H/rmIc4o1XsvV// OwKnOSbzvEukR3sN6WBdUtjcOp9N4UXKkEkwkME2Xh0aFmOl4a1vFOth5 g==; X-CSE-ConnectionGUID: FQlkPlBOQaaz8TCnklaYBQ== X-CSE-MsgGUID: v1JwpsMtTsmKweMjixIe8g== X-IronPort-AV: E=McAfee;i="6700,10204,11219"; a="27722790" X-IronPort-AV: E=Sophos;i="6.11,187,1725346800"; d="scan'208";a="27722790" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Oct 2024 07:58:47 -0700 X-CSE-ConnectionGUID: oNR3Dcn9RPSFxXKZ+pVR2w== X-CSE-MsgGUID: K4rlAb0WSsyuy8xoPjyAIQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,187,1725346800"; d="scan'208";a="75733219" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orviesa010.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 08 Oct 2024 07:58:46 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Oct 2024 07:58:45 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Oct 2024 07:58:45 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Tue, 8 Oct 2024 07:58:45 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.48) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 8 Oct 2024 07:58:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n2BknTzTgBgdyIElcHI+9SxS3raLoS0DwiS8y7U23G3B1mT6UlQQmLxUjcOuH2bYXueHmq8UHjN8d3iFVYx/GT2cU5Yi68uuMdNIyjQvq3HJFujkv66PJDwkaM4irf7XE6miDyE0FREic/kvV4kssqtiBKHlpMhHNvQMJrZfK6ChR1wgnaDD24pMwnAFuAQ7W62Rcatve17oolP/n7Xs1vfUtmQzBBfGYqfuxj7OFbh+ROwZNpgJONa0BA45PkG60syyH0wYddVNQ+f34mpFMW7skwydaRxBC3mo3zT3nQK+SxBxVOx1do6RaPTT/9V37vxXT7dRBXAaYubPQI+Aiw== 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=iDVEi7RPeqjN41aHMmPY+oXOkXm0JH9izotJJ8ILPio=; b=RxUnMRSwEH+wgQxjY2X6NeZgUatb8tcrHkTkwP4HjSmLx3/rx3HBVGLd1QO8E2WkKbGYylm6ZoyYi95Q1jkE6TowK2Z93bTxo27cirNhSHYTlJNuzVO73SDdSZudNXNb7d3i7HOteuXZVwYs+4rqmAjCRFSRvvEO8xi0ZfL/52uMwjuSWKIFi9xzGMunTkOV01KsHfkKOQNg4Rqeq4qSrL+X1ufJLM87Ps9C7OzrUaqTir0fqX4kA4xw6AoroEOvpXbgU5r5VWxKVTg1uJT87DVq0edcs0eNH8jZ6nYubcXYbt8kA5ZvCP5ol33cvFD0T6lJN+LFBXWPlPAUNyOfkg== 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 Received: from SA1PR11MB6733.namprd11.prod.outlook.com (2603:10b6:806:25c::17) by SA1PR11MB8491.namprd11.prod.outlook.com (2603:10b6:806:3ac::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.23; Tue, 8 Oct 2024 14:58:42 +0000 Received: from SA1PR11MB6733.namprd11.prod.outlook.com ([fe80::cf7d:9363:38f4:8c57]) by SA1PR11MB6733.namprd11.prod.outlook.com ([fe80::cf7d:9363:38f4:8c57%3]) with mapi id 15.20.8026.020; Tue, 8 Oct 2024 14:58:42 +0000 Date: Tue, 8 Oct 2024 09:58:35 -0500 From: Ira Weiny To: Gregory Price , , , , CC: , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH 3/3] acpi,srat: reduce memory block size if CFMWS has a smaller alignment Message-ID: <6705489bdc79b_125a729415@iweiny-mobl.notmuch> References: <20241008044355.4325-1-gourry@gourry.net> <20241008044355.4325-4-gourry@gourry.net> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20241008044355.4325-4-gourry@gourry.net> X-ClientProxiedBy: MW4PR03CA0132.namprd03.prod.outlook.com (2603:10b6:303:8c::17) To SA1PR11MB6733.namprd11.prod.outlook.com (2603:10b6:806:25c::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR11MB6733:EE_|SA1PR11MB8491:EE_ X-MS-Office365-Filtering-Correlation-Id: c02d05b0-230a-49c2-f0d7-08dce7a9b31c X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?30GFId6fRShqaN1k5MCiVWVwZxWlkJugU6G5le3LvFVywBh+K1vos/ndWdKw?= =?us-ascii?Q?Tl2eXbUCf9GTMjdX5/Vl1lALb8yF+lpJ98rWXfeCiDv7alz3RJqLa+uG+2Iy?= =?us-ascii?Q?4gsDCE38HBWovgtHoSQkjA82pNbSXxJzdTUuJHRfUhK0ufgpquRB0VakQ08S?= =?us-ascii?Q?sexjARsOkZslOjqGf6u7+Oz49nLiuy+ldNcX/y9DtfJIl7i2oyIpGj+Rs/Mo?= =?us-ascii?Q?FjStzrXs5yqfZlcoOWevilafnBVZVPMbAqyNJSD2tDIJj8Frg+HTFAp3sc4l?= =?us-ascii?Q?Ke/nEKEunjoDD0NBVo0+A3ahukO6ZvnPPOCYutgqAX+guU69U51/jU0t+7XH?= =?us-ascii?Q?pn8tZmwnxlD2wH9HMeFinrZ6buAOj6DS/drSI3tOe6VUiG9RiC2vJKgh/Y62?= =?us-ascii?Q?STMmu2y16eu0+ey10QkcTyqYQnRr5wgE+EU6tBGlAgYSTYWWOjYsz3QUaMqz?= =?us-ascii?Q?+0DJk7WIrEVx7WoPkZ4nXllcXoEPN5wHyo7OqHj399GKIl0PJXpaqzY/mEHo?= =?us-ascii?Q?7xLw49ZE67yg70MkT1UbfTapJce3q6757XBfDaWtM24AkwtrLnxvEeSdxjv6?= =?us-ascii?Q?EYytsowMwauzV0QpNUlYNp7jGpf8Pedp3rP7mZGzaNCSep7+rBx4kEPJPTHt?= =?us-ascii?Q?aHgDChtUR3JKIyxAg3udWBgLDpgEIabm3zb9UOLWHenMoTrZcw5xGTX4IxD4?= =?us-ascii?Q?pk1xqsABUaBZfxHuc5krHdVpaFdPkC5j3R+Dts8VA4K7eV/q7Gb2MuT9MtJl?= =?us-ascii?Q?ZrXi5TyBHPx2b2zoSAc6F/FttPvsDO2OWq5QauzgIyAa8yj5Gs9hIeQaIAKT?= =?us-ascii?Q?lI9ufoeiCdHF1s8J5Z9WE8SstEZvAxpaPr4EApJInvOvCEyzKn8d7zo5PYCH?= =?us-ascii?Q?JEhkw+FRP3QuZThJVyVl+YQbpCP88NED6IxAjLk4LF+PNLIpqHEOWrAB1Jd7?= =?us-ascii?Q?zpi+T+UOmgbjHe1Hjss1Vv+gTZEqBNsHJTzkCT9Qw6wo+lXoMsFLSHBIU4ld?= =?us-ascii?Q?SXLBsLUwhMiW9UkqNx0ME0alY+gA8Khak7fr7DnzfRGyWr0cxToWqxI1p9mo?= =?us-ascii?Q?znQVoCsM9WieARUBUN0Ykjle/EmfhEIsrQtU24wtNg1BZAqye6NVszkdUAh3?= =?us-ascii?Q?yLJVIqbMf0elYFSsficDUd2XjtUq6tmPiYA8Ek176w6XP/L/MUtJ/0Y5GyFV?= =?us-ascii?Q?OwYIw9lMAmje5PFG1jrvsK2iCMkwSXfRt5BwGRwls2PdRd0bfOBc8L/Ts8n7?= =?us-ascii?Q?EKU5jcJftSxuJTJ3TzJjZeYiyRupr/BOXhhJLcWKUA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6733.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?EbTahfJb99uwNjMTBDAexhoy80llZx69r9KXKcWP2CxO+3QCxGKOsoTG1LCV?= =?us-ascii?Q?l01UMOQGsJrt1ezMp7clPBIE8JkjulzcIjxtxHFOXL6BDe6SmbeRU8NbsbwE?= =?us-ascii?Q?N1n2tc6qvauc2bioLW9Xle2BQ18N8xeH33fdd3obmGXEPZ3HfZ9MeJOtNLRf?= =?us-ascii?Q?xOSetf6H1AJELSaNE45lfDa6uPtIXzoH1dKO86LpdRenab/KULtgU9hTpPuh?= =?us-ascii?Q?YZxlkt+xFWb6TFYyh5uKrxpXv/u6yVlDGQfaiKS0ec+OWpOSqrFnArqF8667?= =?us-ascii?Q?EFCo9E/L2nba89w70pmqjdtkkJI8MNHs2Xm18CzIhoLwe0LtNjnkn/VooEvp?= =?us-ascii?Q?CsPspgm4axLbSoOPEzhi7pq4ddruz5iV8f4ZKBV53o/4OhFcCFUjk8o+5X5H?= =?us-ascii?Q?JtPYRGmRTAwP+mhjj0NkPmqPlo2/JiId7fBAdIA82DXbCezPBvzv4tlIKRYM?= =?us-ascii?Q?1gjOkx5kMBTO9ButJKKDHKVgg2M5pCyN7Ks6upOgbZJNYOmt3uMoSwvrGPaF?= =?us-ascii?Q?XhDs5mEsR5pDnHFMC68Bnh4h9RNfOpUUbTR8z46dA1gJJ0N92JQyQgDoAm+k?= =?us-ascii?Q?qsQMzRtHfPsrvbndHno6t00rAhAgRejZwtTYQZJFYHZnDWEmww4P9q6OWo2Z?= =?us-ascii?Q?mdcwrQnxouBKAHztZsu6lXr1o8m+V8PI8Db006gdElOosqU5RvFOS/SDaxvU?= =?us-ascii?Q?XKo21SMj2HEmc6eIBltcqpwI253nnBFN0uG8JFBejJNtpghaYCSs0tF2ix91?= =?us-ascii?Q?f42B2zR0ovYy3gPNTnHKpKDbI405illCHNnjh7VR/akLv1tNogYYnWpmrvV5?= =?us-ascii?Q?SjoXRzqhXYogq7mJMhKjL2jfNwvdus/m7HPM8kJjNDceq06JvNRY5zhVIUeP?= =?us-ascii?Q?Cdaogzs0K9Ppj26Af4qzYE2Zz6Dgir/Xy12AmpPSh5zvguP7FWVCxAl1CHaS?= =?us-ascii?Q?vE0DWS/9KNl1jzOgqmvvyj4TiYXA4vPn2GtR1KKCJXjHceiE4PCgorQ/Q5Ju?= =?us-ascii?Q?qdFYnAHx2sbv6ZibUw0DM8vWCGsqUEUhrOHbwaOt7K0/zaX9t+gYX39s3OXl?= =?us-ascii?Q?6HBCnaU2PdPZTiMISlZjlH9gkrgZsxO9xeq2wkb7dbZh9/qUT740gimre+iT?= =?us-ascii?Q?xUEhuL6wTpkPAAT+mB+AS1q4KRKpKLO4k4WEC1vumitE6UgJuZomZMWOH1/r?= =?us-ascii?Q?aU03NQHvubdYj4+DnhzQ+ioTV4kzVCQaBRIXoJBx2IT7aYVsxHnrwM7YLtin?= =?us-ascii?Q?hF76/MPcy+ltdBqAXTUH2fXJXYMsxPZaGZh7QGwRdXLRZoCxYy4QbVaGE62C?= =?us-ascii?Q?Ymawsw84apILmFUnzw9FD21ZJ4VcJlvTULSAFBnpldJPx9GXLza04MMsW8A1?= =?us-ascii?Q?R5o1/6SyBeD9KyIW0AzYI0SrPPegdHneVVu10V+L4q6p2oLZGBiX6r0Rt7/O?= =?us-ascii?Q?QYwiyJK1WMrXszUvDN8qPa1kpBxzuORi8CrJcuZZYtizR3KTr/OYEeyKFbJo?= =?us-ascii?Q?b4uy2upVc0QUyfwrJ248G2/h8AgMn/eIEV3Nb5TDGpU7Uj00Rexjxg3MMSS6?= =?us-ascii?Q?JtXY2Wtk4IS5JJODvc0yhg6vB1KAJkOt3dc/IKab?= X-MS-Exchange-CrossTenant-Network-Message-Id: c02d05b0-230a-49c2-f0d7-08dce7a9b31c X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6733.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2024 14:58:42.2163 (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: 5hALBjgLi1QhFau0myvvdUKNH+dqgiU38ioERUkDwA+JYJXXltfZnbdRpWIlONEPrfepfiAMeb15ji2Dk/skCg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB8491 X-OriginatorOrg: intel.com X-Rspamd-Queue-Id: 1D0341C0008 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: hojp1d1jn44w7hacnabroebsyo9dsgtb X-HE-Tag: 1728399531-140517 X-HE-Meta: U2FsdGVkX1/K1ID5JxhqK4+VqIr826x/S3Bp2Nw7YWPU0W8UERP8foSzXjnoKQGoHJvxOt24fiWUg6Bsz2YXwS/7X3Q11dovC1z/0QRe1VuUNAtws+IbBqJpY1pN2HKzrxgr7KxoZNErzxqcmNrxWIpDnIwHel6c5sxeSh2bnwmTJ5Ztu0DvShhYzsOlDq0Xq9C8C2baUpKsfyOHPPI8023yPyift6MAl9jfRJS4T9EYp1wUApJ22xf/gIn8BETW8OphKci9qO0k+7x8Ha7neOgposIeW9dxI8lgSJFcepTIcAAIUdSRoJKffZM+CaBPQz2ledYE/S4+mX+xVCNSbEvc9CgZ9APgaQfC2yLAJ81YULqXjxMOw1VUNuUm+enGT9zLv/wI/7qYpNqRZjSmWXrLkiDS2bg1IVZAuEyeWatIc3GNn7qeECHzpZRDnFLRwQzfVX5e/NZOq21oSNEPRHKVaTmLfrxo/17/MIN4XQ2+5QSRRr9iYbarwO9VNtptUEYTPmkTOtWxJWkLf/1LCjYzDpL1HVdcjzWckWjRe4wMM3VtUJKQFNup7IBgCifO9YU/4dWDAmK6naCclORoASnAoEzqnpBFuQzskKTpxCMDjnVszqvRe51rzSAOLzamSMTjzPs5x0wvg45evm2w/VI4X9KkMcJRa5H5i+s7ZDBpd8y09ZqOXj8+hzJa6lr8wTkRc1wE9E615f+CHKZHfpcmAU1thfUxzJbI0RqFdI/HNlC+GV2nY3B/AwVPtpyUb8oq5azOuY9hn9N2rEYrmFizUAZKgm1kRP4lqUhtAMx1Ve+obbgNjIaSIDQjcNP/jfFkTNCARxfOzzeWPWS0hAKY0179quLTFVUBTd2OeUcQWXUm9XgS2Z9T7KMGOx33mXfTZYo9X/reDBzlO/42BeJ/eWBLN4tJ64lP6thOLxVpRJdQZY0JyrszpAkvWzVaKsv1P1jF+ISpN3DOKCT FIzlVFn4 WNiIOi0RZhHa8ktwQjMU8hDwOz1JpPYg0OLj3kp4/fB39yKKKnuxpxKVrJcfPrw2NUNB6z8stqQpsExCN+W0T+ltASDwmZxRKwCtGwNCxgdQ7TO8DvJnEJ0wTnBAqXnLjGmRNOsBfSMnFV8h3EvmgAtx0uAuLHjiDcIOVh0aU/CBIcyHyqOgf2KTCPMVeRJhEzuB3wRFfW/vLgsewCGS7PQwkw8n6tsm0qWTeXh/Zn4KQRDp+PWxlSfODtNkrXwKr0OD8QAi7274lAdTEeF/tJfgUlhANnnOravZKvP8I3sxbqUJLsQ8gK8egzLeSG5HPFs4yyyEfqRdTed5JpXDjwKSz95OnBi55elJr7wzFHfLYfLWdGle+lF+Wmhm9UhOj6r7gREvE75crmWnmOryp846lRQTdYW66m2SFVc0fjmCfcmA= 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: Gregory Price wrote: > The CXL Fixed Memory Window allows for memory aligned down to the > size of 256MB. However, by default on x86, memory blocks increase > in size as total System RAM capacity increases. On x86, this caps > out at 2G when 64GB of System RAM is reached. > > When the CFMWS regions are not aligned to memory block size, this > results in lost capacity on either side of the alignment. > > Parse all CFMWS to detect the largest common denomenator among all > regions, and reduce the block size accordingly. > > This can only be done when MEMORY_HOTPLUG and SPARSEMEM configs are > enabled, but the surrounding code may not necessarily require these > configs, so build accordingly. > > Suggested-by: Dan Williams > Signed-off-by: Gregory Price > --- > drivers/acpi/numa/srat.c | 48 ++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 48 insertions(+) > > diff --git a/drivers/acpi/numa/srat.c b/drivers/acpi/numa/srat.c > index 44f91f2c6c5d..9367d36eba9a 100644 > --- a/drivers/acpi/numa/srat.c > +++ b/drivers/acpi/numa/srat.c > @@ -14,6 +14,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -333,6 +334,37 @@ acpi_parse_memory_affinity(union acpi_subtable_headers *header, > return 0; > } > > +#if defined(CONFIG_MEMORY_HOTPLUG) Generally we avoid config defines in *.c files... See more below. > +/* > + * CXL allows CFMW to be aligned along 256MB boundaries, but large memory > + * systems default to larger alignments (2GB on x86). Misalignments can > + * cause some capacity to become unreachable. Calculate the largest supported > + * alignment for all CFMW to maximize the amount of mappable capacity. > + */ > +static int __init acpi_align_cfmws(union acpi_subtable_headers *header, > + void *arg, const unsigned long table_end) > +{ > + struct acpi_cedt_cfmws *cfmws = (struct acpi_cedt_cfmws *)header; > + u64 start = cfmws->base_hpa; > + u64 size = cfmws->window_size; > + unsigned long *fin_bz = arg; > + unsigned long bz; > + > + for (bz = SZ_64T; bz >= SZ_256M; bz >>= 1) { > + if (IS_ALIGNED(start, bz) && IS_ALIGNED(size, bz)) > + break; > + } > + > + /* Only adjust downward, we never want to increase block size */ > + if (bz < *fin_bz && bz >= SZ_256M) > + *fin_bz = bz; > + else if (bz < SZ_256M) > + pr_err("CFMWS: [BIOS BUG] base/size alignment violates spec\n"); > + > + return 0; > +} > +#endif /* defined(CONFIG_MEMORY_HOTPLUG) */ > + > static int __init acpi_parse_cfmws(union acpi_subtable_headers *header, > void *arg, const unsigned long table_end) > { > @@ -501,6 +533,10 @@ acpi_table_parse_srat(enum acpi_srat_type id, > int __init acpi_numa_init(void) > { > int i, fake_pxm, cnt = 0; > +#if defined(CONFIG_MEMORY_HOTPLUG) > + unsigned long block_sz = memory_block_size_bytes(); To help address David's comment as well; Is there a way to scan all the alignments of the windows and pass the desired alignment to the arch in a new call and have the arch determine if changing the order is ok? Also the call to the arch would be a noop for !CONFIG_MEMORY_HOTPLUG which cleans up this function WRT CONFIG_MEMORY_HOTPLUG. Ira > + unsigned long cfmw_align = block_sz; > +#endif /* defined(CONFIG_MEMORY_HOTPLUG) */ > > if (acpi_disabled) > return -EINVAL; > @@ -552,6 +588,18 @@ int __init acpi_numa_init(void) > } > last_real_pxm = fake_pxm; > fake_pxm++; > + > +#if defined(CONFIG_MEMORY_HOTPLUG) > + /* Calculate and set largest supported memory block size alignment */ > + acpi_table_parse_cedt(ACPI_CEDT_TYPE_CFMWS, acpi_align_cfmws, > + &cfmw_align); > + if (cfmw_align < block_sz && cfmw_align >= SZ_256M) { > + if (set_memory_block_size_order(ffs(cfmw_align)-1)) > + pr_warn("CFMWS: Unable to adjust memory block size\n"); > + } > +#endif /* defined(CONFIG_MEMORY_HOTPLUG) */ > + > + /* Then parse and fill the numa nodes with the described memory */ > acpi_table_parse_cedt(ACPI_CEDT_TYPE_CFMWS, acpi_parse_cfmws, > &fake_pxm); > > -- > 2.43.0 > >