From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752789AbcAGC3O (ORCPT ); Wed, 6 Jan 2016 21:29:14 -0500 Received: from mail-bl2on0073.outbound.protection.outlook.com ([65.55.169.73]:32519 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752699AbcAGC3G (ORCPT ); Wed, 6 Jan 2016 21:29:06 -0500 Authentication-Results: spf=none (sender IP is 165.204.84.221) smtp.mailfrom=amd.com; alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0O0K9KB-07-KKV-02 X-M-MSG: From: Huang Rui To: Borislav Petkov , Peter Zijlstra , "Ingo Molnar" , Andy Lutomirski , "Thomas Gleixner" , Robert Richter , Jacob Shin , John Stultz , =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Weisbecker?= CC: , , , Guenter Roeck , Andreas Herrmann , Suravee Suthikulpanit , Aravind Gopalakrishnan , Borislav Petkov , "Fengguang Wu" , Aaron Lu , Huang Rui Subject: [PATCH 1/4] x86/amd: move nodes_per_socket into bsp_init_amd Date: Thu, 7 Jan 2016 10:26:11 +0800 Message-ID: <1452133574-3407-2-git-send-email-ray.huang@amd.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1452133574-3407-1-git-send-email-ray.huang@amd.com> References: <1452133574-3407-1-git-send-email-ray.huang@amd.com> MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(199003)(189002)(77096005)(1096002)(5003600100002)(5003940100001)(105586002)(87936001)(50466002)(97736004)(19580395003)(36756003)(586003)(48376002)(53416004)(1220700001)(33646002)(50226001)(5008740100001)(86362001)(92566002)(50986999)(47776003)(76176999)(2950100001)(229853001)(11100500001)(5001770100001)(101416001)(4326007)(19580405001)(189998001)(106466001)(2906002);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0864;H:atltwp01.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0864;2:vcDqCKpvQiaTA1Q+BkJZ9e2Xr8hURTX7gKE8grUHJ99ftDGaspxE/JSNDX7Zet5F5POigGUJmkyuLDcKUopFvwAjUtNc+PP5m4jZd4jaapgChzK3lJExMuyZisMVYgi712puhklAJfDzMAyikvep9g==;3:ccCBavi/VjPhoiDYruRxMpo4u+UNS9Vem1dWqd7xdXaN9etAAKx0ihAROI3nN1EJKR+g+6nQ3X8HLM8CnsT+JBIH2EqtjtR6vaUWswJoTTM6Jiet48euDJdiihUPqnt0U0gFKAUdNuCiF5sN6G8cIUNa9FkpDCio9zXfLcl/HMfwQHqxIgX5RUcY4RqURMgd1MeVmcWUzyCoQ9D+nWUZfe9jsoqHq1pQJ+S5DrRqT9w=;25:EOYE/rtF5oZG0a1kOZpyAbKN+iqWS63r4gKzrTMmBkXhdoAURp4jLxhNEfs6zqr/cwsGo7ON0Uk8PXRjLqgCmlZFlShrNLhoMqMU1ykABU/MsHKOoP8oPH0/7sI5A2TFBLdt8CPTQO3ltU44j4guTYQ+zaEichg8+ombOs+wgJsQa+EUkk+mH1goZDBA2RxY6dmt1MsUiyWMC10ivW+gBQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0864; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0864;20:yQwIpSK3tOxxNwh/3XgoHYPDj6XtMzxDHi6J47hWuALbFmoi1pwMoNeLHqvdd/Qmwxu/CQRy48MGxCEl0eLzJzGwKGQGOA9WVIZUidY1RQ0B6gkUftTj6lGD4IBvzmel/F99dk+l1kWR1CzA07WHdWqy9SSSxnqa8alvxVh3HvyeDqh6rcGzZ39eLw6cIDveEPzhx/2MIGBc1CxOEkAVrVCGNN4Lnd7F3WV/KHpCE3RuVdyBnM24Mi9aj8DIIn6xnmy/tD7voexgro5dYEvwi3LApGdzYWURhke+VgyLpA4SZQYAIrd7zGJkzFom+YBi+ARiIPC1kD9dSCjHf61ERp+6j/UoO6HMtHQ+5NS09NWqeWhNTCWT/X3IYDQF5uOYU0LP6EoCewZc/FRChhFpaXFn7whDLW+vlmo8A0bEom34eh4jwDeSCfVB1vKSZv4PwIWGopDuaxMxZTIePzdiszvW9cMGklvtA3cpxmA05fsb4+T977UYG9NhnwDQ++ER;4:zu+oy8NUZJEthmFdecWxVF3kl+2rFkx0dwSW6xqpg5OgoejV+Nd+EHYg4Gh6O1Rb0RxzMJYNt4/PKa96HhjV8bTM+1g97M8V5nRKC5MB6/lM7/lEgIauvjobP6iAAKCcWfSJGdosFqhqEYG/uvrchvGj0joWfeUCohgJnJDLwbWF6isSkndwRaIqzKZaPBp8e6QBS73PxuRMv7pf0mYwFwQek6Z7PQF3QW6VrBUGJ3IHoZ44XavMObIDbkpD6Ze18c/vWYNgmL9eaybB1eapom17f1FG6DjpUMOtbQ/klyfUdndzC1pc0qdT/xT6ZSHzPysdaJTKN8viRNhg3WNtgkXU4clNJlYLYolWyNTSPtG1HaT3XcCG8Y8Pd10Mv/XDIS1MIyTtzZjg0yD/CijYCGrM4bJulxA76HzZTCJhjgM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(520078)(3002001)(10201501046);SRVR:SN1PR12MB0864;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0864; X-Forefront-PRVS: 0814A2C7A3 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR12MB0864;23:u4bDvEkN3sh+z/qoOZ3Wk9pCjq+A1GyQNgVmBrDBb?= =?us-ascii?Q?Hw6YOp5pw4rBbb661jpzwWm/p/4qjtUPDS8ObQqefMO+DMzv+LQ50NuFs5BC?= =?us-ascii?Q?oLDbYtWLb5zH42BDs9trGJ9qXRXoI/nJRMqxc8matWYBG0fPFtc460K7T3Rk?= =?us-ascii?Q?eJUzQGTFUMv3XnB9YCfxX10HttyU2zy+mtm8KE9mG/yV89bD37N5QHQoVded?= =?us-ascii?Q?q0WWq47ojO1wGLIBl7VP+Xh77bDmL75Lgi3xjyG5KBnMAQ1z1HC+jJ7HyXIw?= =?us-ascii?Q?rRr9YgwhtfQkT+1nBnNn5N/krRca7Xdcejdguhkic/Nb7TIPyz6SX8taiaIj?= =?us-ascii?Q?VMsIwPHJ+4GMp0BuGxEjld5MmMhcenLTFgJ488mwWMd4On5KcxlwsiObJOgQ?= =?us-ascii?Q?0BPigv5tzal00vjBiGtityIJ62eyq5Jvtw2wCXn9c4v9XSTTKb1uBy6+arZG?= =?us-ascii?Q?DGl/Cha05b2iwXfcii9YEjYEPMo0K4E6vc7pRghXcPBFwwVQ+PfprqgUSpDe?= =?us-ascii?Q?wA3yez5LsdD1Zm5OKpw6bPbgRRUMc+yJSyFU53Ab66/XKoksKvP0uynh2aed?= =?us-ascii?Q?Vjg5NlccR6sFTZT/b7x3qPZVkXjhGEAhBygd/Zp3Y2P2kzEbC1qB+cyA7+Aj?= =?us-ascii?Q?1Obg8EWakKbtvDRYL90OsAdgvkpJf8dpW1f5nI/X/xtTgwK25K6JjDg9dETX?= =?us-ascii?Q?ZcG8qi4qxCEN2ChuhYAxMZLu1rjAF+tB8VOu+z3yvdLmIYlYPfrtTUBg63Xc?= =?us-ascii?Q?fLOq+MEbvFuswFm9ljdb65qYfJqGqkFl/drYMTHnPJxEQlFJvEwJ9zDYyeoh?= =?us-ascii?Q?VCAAeQhxL8zvNGlDkiae4uPu3PPvjjpcaW0xxW1VfBLdgqPf9mViD9pZ98Ca?= =?us-ascii?Q?jhLsScdHwuVm/pselQf4zIZQnc5dnR86X9mysOqhmItBQw4lnLr4055uVb/C?= =?us-ascii?Q?q6tTMHupdL9k1bD06CH9voPeVbJNkXrwcbzE9DtcNl4u9MTtakuQKW7YPVyR?= =?us-ascii?Q?8TayAcAv4S7Mgx0Zpsj3nl9?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0864;5:21sO9My0MjO+s/H2CKLKOUAJZoRBoVxeqY7F8IqKEYtsrkjAk2BPkxH0mJZ0ddoeEKlh5MlfMZuQ75VIB/gXazJYcF+etHlOKD8um5BqXWFn6GdsCl8p8Ed0V2Tjgxc3sN0YYsjDhnQ58P7qh8xQGA==;24:VYEbAkq7aHJONl3vjuLzjbdEw+u6pb3/MjiruubZztJ5vpNfqucbdh9N1AY0M9B7RfHkJLqIO0MRTc0cC6awTKpVGn+cAjhf+VSJkNSEDp4=;20:zRpfokPQXOQuMkkBVnYuK0EKte8dL9i/gvF8CtD3Y88ImAoPEQ7I+yM53qVRqRABH0CcKPcTqDaUYNsJvQJIRU0Li8isMX7IuLwAviFRK90Vu6nRxCyCDuSWn4Jp03ByRmUgZhuzgKW8sHH/mUR5H10Gt2MI3i+UvjFme7NEwZO8lqlV92S+zr2fF2J/7V/50xNDqifmaF1VORDYlpSTANDbeQZLeV1D4pViwJMMoyxvqGKlKrf3XdsUQtHZLnTG SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2016 02:29:01.6249 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.221];Helo=[atltwp01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0864 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org nodes_per_socket is static and it needn't be initialized many times during every cpu core init. So move nodes_per_socket initialization into bsp_init_amd. Signed-off-by: Huang Rui --- arch/x86/kernel/cpu/amd.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index e229640..97db1b6 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -308,7 +308,6 @@ static void amd_get_topology(struct cpuinfo_x86 *c) u32 eax, ebx, ecx, edx; cpuid(0x8000001e, &eax, &ebx, &ecx, &edx); - nodes_per_socket = ((ecx >> 8) & 7) + 1; node_id = ecx & 7; /* get compute unit information */ @@ -319,7 +318,6 @@ static void amd_get_topology(struct cpuinfo_x86 *c) u64 value; rdmsrl(MSR_FAM10H_NODE_ID, value); - nodes_per_socket = ((value >> 3) & 7) + 1; node_id = value & 7; } else return; @@ -523,6 +521,18 @@ static void bsp_init_amd(struct cpuinfo_x86 *c) if (cpu_has(c, X86_FEATURE_MWAITX)) use_mwaitx_delay(); + + if (boot_cpu_has(X86_FEATURE_TOPOEXT)) { + u32 ecx; + + ecx = cpuid_ecx(0x8000001e); + nodes_per_socket = ((ecx >> 8) & 7) + 1; + } else if (boot_cpu_has(X86_FEATURE_NODEID_MSR)) { + u64 value; + + rdmsrl(MSR_FAM10H_NODE_ID, value); + nodes_per_socket = ((value >> 3) & 7) + 1; + } } static void early_init_amd(struct cpuinfo_x86 *c) -- 1.9.1