From patchwork Fri Feb 4 13:56:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12735123 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F24F1C433FE for ; Fri, 4 Feb 2022 13:57:03 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.265564.458962 (Exim 4.92) (envelope-from ) id 1nFz50-0003Ao-8v; Fri, 04 Feb 2022 13:56:50 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 265564.458962; Fri, 04 Feb 2022 13:56:50 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nFz50-0003Ah-5V; Fri, 04 Feb 2022 13:56:50 +0000 Received: by outflank-mailman (input) for mailman id 265564; Fri, 04 Feb 2022 13:56:49 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nFz4z-0003Ab-8u for xen-devel@lists.xenproject.org; Fri, 04 Feb 2022 13:56:49 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 4b7acca1-85c2-11ec-8eb8-a37418f5ba1a; Fri, 04 Feb 2022 14:56:48 +0100 (CET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-29-01_o3IveMxGxI8fmq-bljQ-1; Fri, 04 Feb 2022 14:56:46 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by DB7PR04MB4538.eurprd04.prod.outlook.com (2603:10a6:5:2e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Fri, 4 Feb 2022 13:56:45 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5160:9fd7:9627:cb11]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5160:9fd7:9627:cb11%5]) with mapi id 15.20.4951.014; Fri, 4 Feb 2022 13:56:45 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 4b7acca1-85c2-11ec-8eb8-a37418f5ba1a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1643983007; h=from:from: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; bh=hqXtvA8QT1El6gi/VOf+F8xHktquhDqteU2+BYDQISo=; b=Yqg49wDP1wsl+zYjZFNl+QJcuNds4g65tl6TCRpTQ3pMMtrNUxAPrE4nB2BCHnt0J4BRmI sSmtdq5r1SPkNR9mFMq6aRydUe3wv23VI3FnvMgdvD6jKhCuorrYmcTqC2rq18v+uAhEGn TvSP4jgn5xlY03uRQ/P6P7jsxrtCmhs= X-MC-Unique: 01_o3IveMxGxI8fmq-bljQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JsTR6wHSHp31wDxVapWvddP8JBPJqUD9c6n27atW9IWFQEevAB6keYGckNcEKdnR1br6NwZH6AotWbq37lmRlsYNq8pXcoCzbn8RSOEeNSZs+wbnvlr2eADMdIL2Xtz0634AcSpGVkA/lleYUWUqt5R4HmPTj9qfsK2/m6waZJhSvirbcxw5KsFgGqMjswKDNrR262qdejLd8lvBjwubEJATwWs7EPAYJbkWk5FBruIyI+xpR/iCyOhdsiZm6GeWRDkihahWQtuztLE2t2lZt9mWOVHNUxtU+zP0NIt94iWL6iUebpQu1cZSuR/S0zyVXd4R31KvoOx9iz5AaNc1Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=hqXtvA8QT1El6gi/VOf+F8xHktquhDqteU2+BYDQISo=; b=B5kwYz5OdHFAFydQn3Nk0657ePZ8vjqcP2YweWhGm8c5HYiyQCGfu/m+mGbBgg0RjhOQCnj7+mEMILCRUpm+92O4xt2mKUfCjCVmhNGyqKtuMvxmLnuKqWlKAuCZy3FyaNzIx/JZOjLEnc290foFRzfLlCUP81Z69yAj4DBg6++2t5cJqrynSLSRFPNPmxDJ8bfAevfXV9m1zedY4WdziQ7EOy0csfHhU3e55EXRKG12gru+noO4R03aJ9IIp5jWn7bQgMYRX1z7lrUeGt8XF3nzG+q5l5Z3BGo83dilmnQkTsDyBjmcja0eikAYtjMI+AfOkfEUqIrz6ruFx2GHag== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <419db65a-a6f2-f812-d51e-7a23d065d460@suse.com> Date: Fri, 4 Feb 2022 14:56:43 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Content-Language: en-US To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= From: Jan Beulich Subject: [PATCH] x86/Intel: don't log bogus frequency range on Core/Core2 processors X-ClientProxiedBy: AS9PR06CA0415.eurprd06.prod.outlook.com (2603:10a6:20b:461::19) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8e7944d3-5ce0-4887-e6cd-08d9e7e62e4e X-MS-TrafficTypeDiagnostic: DB7PR04MB4538:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YG32QVAjLfr89s11BZaUJXtVUxIk0fO4TrcoDvUdEgcsldImm41S+OVXfEhTEhA7jAjQgtsKUrDzAg7Q2PEIdjIsqofLLOsObJNY/6sCVugszz1j2tuN//wTPkQUJEufwR9OgNC21jWCF6Y6aqneNAfQwgKcO1XTeadhj5U0M0q1wRYv6n6yECgWCQkXznZ20afVvHkTdJ7z1sgHQpubOU/RQentBX1vbKVDDH0Qi1iNpekO/SKXtPaT+GrKRbLSufll5B4FD0NTL6BYPKnhHhlswGoffNB8G0iOIuusl4aBHfjpWo9KvCH26vSaAmRLp4EA22EdNTreIKiAKPnE18ZgWYs89tAgbseDcffALYFN9qMkfjhVeXEFKIV2T1VxTnYSZS7crAZOACp4ac4bPeKr6O9Qm26y7BjByjeBXZJ1LORNeFDUP8wq1U3uurT8Emk1fnoAVaZGc4e7goRCIrASEQ76dt+QhlgYArPIKLWhjdhzGOMOMzJkCcIJ4wWkuvev2kJ9fPc21dE7/Yr0wYK9ynx0QsdknfkC7+PfrQpWiq8edsukVDfrgY4ywmiy0BlXjbIVSqBL8SeayegPI1GbRcgABFMLXcj/S3d+/aPOpkthqMk4kyYaDB2XlIEnXkr9cIdNVTKzxebIZyqTnnxP3T20IV8ztjpkiLhDGkfZjGZiwJ8aSZ28xMvJRCJCnTqS3JZpY8yK7Cimcq57+Tyhb+zKTKWhKzeJoK5bHrjNjDe+LBg8gdMUC0knBr0a X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(8676002)(186003)(26005)(38100700002)(5660300002)(66556008)(6916009)(83380400001)(8936002)(66476007)(66946007)(54906003)(316002)(4326008)(31686004)(36756003)(6486002)(6506007)(31696002)(2906002)(86362001)(6512007)(2616005)(508600001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?2mwY7OR5pC6QK98xT4CRJsAkT3Hb?= =?utf-8?q?wpNsHu0T0aDiFW7Cf30LH2u9A1UndsPnc7Nd0pEtREp225QJ5EmbQ3knYYwjc9XSP?= =?utf-8?q?eGET+jyqgitt1XDsEvdfc0I6PJzd95juSZnf4OIzTFy2bK4AVMy030oT2Lc4d1xqn?= =?utf-8?q?RtQx7p+SnYlqOCmt68aRXeFQBSsIplilJOuCZyy8VDlsp9YLJuZV4NDOSEJpdxLVd?= =?utf-8?q?yVDqrrIkyh/ik8txAAaqZdWV5Prk8cqc5j2BPZbs13umCthwomy1K5Jl2MD9w1In/?= =?utf-8?q?5IEirALHVc1jfB8ujfRlgw70OjZMpyASce4DJ+T0I/HyFp0tREO3Kyz5WUAL3EHqJ?= =?utf-8?q?RFI1pE1pYoxO44FYOoM/K5YVXNu3Jdtv1Ps4zqu4vEmuVC+atBnonNV/6zOLny+hU?= =?utf-8?q?J0fMIbUBTyt68IJYuRds/39QOjQrq3gOn+eRp+RyI5bsRgTaswA4UpRX4Ay4wXdyi?= =?utf-8?q?gSa2PCtnr/MyYxvxeSpE7umXo2s1ru/zp53Nvs/LNKXaJ0ItWrw45GIXRQWOebHKG?= =?utf-8?q?FzHsELllwS2GW508UWoRQFQvRvKYvV6TzTt/ZL73cqx2NCksctdrc1DTQkr8hEvzH?= =?utf-8?q?GumcpfN1ySAg5h8i6oMXH9pfgzhNRGKBsBuTG6oWQRRgX9eB2V2nES6AjLpG9fUCG?= =?utf-8?q?768rwJUjkz2YW3hN05jj6boaWOtmqjP6C3O9flceu9Dm6yaykPhUHmUpQQWOXzk+P?= =?utf-8?q?OPJCOLcEB7EKeonFGl5SKUHrtl63yHhNh3QQuGQwBHJYwb/zlyiZcgnQ1Hz5g+Ox4?= =?utf-8?q?0It1V89JoI7QHqzLDXENFLL7HrH9OSGCilzpE78aIWR7B3erjGBlLYRRyCWFLL5WO?= =?utf-8?q?fjzSXVDKNFkiXPqHRjklljbBvCF5D8VHaWSO3ok+dv75RJSZHMp3wYiZ5sMNyNOJ0?= =?utf-8?q?wB6L34s/IAZXlQOS8pLRcyts2kM4HqRYzQn9oQYBUGpykeVCldeof6eembRUJ2CWK?= =?utf-8?q?soVzIJu9UUNALCfC2fnVHEZXfPVupCm1w0SEYI2sZlE4ZbGsRWVlTJE7/1MFKaM27?= =?utf-8?q?1zkwjj/vRSZWbghYg+sJ2XpREPtBB8xFr6b8EoggfarbwZLvM+iMhphcinHYxGL/d?= =?utf-8?q?/C+hi2+Rj9uUsdPCwhp0L7W5CBoK6OD4hYTA53BV4/qgmtJiU701XNXPpAMip8y/T?= =?utf-8?q?71dS394gxA/mXMNRDnOjqSfD/TNeignfiiq/5HsQeJZ74qHCQR59VtKN1zlW8i2B2?= =?utf-8?q?AxHaB+reAnfxagERIz7inSfj7sy4OCQnJjBo90O24ICQHBO5vpXff37L22GiDLLTL?= =?utf-8?q?SdFQA4QCV/YGkcnPnKbqfiSDZs/S+Qv3brvRWf3VDJVe8lZnV9u0YN5198kDPvCtX?= =?utf-8?q?G/1NKBA4+heGCtLBYVxFOreqejlWmEmEuVSdvyqWItqyeuJy+RSJJt8T3h0IpZGlK?= =?utf-8?q?IGzMuLwXeSIAj4L6+XpuhO/OvTqTKEyhjTnHQcqdG2sg/VzWNgW5A9ZeAmaL2Qhif?= =?utf-8?q?hGDNZIhxdDTlexl6Hl86UGpMOnh2iJwj3ggA/WykQDCybwKTByM2thQNRGymjMQcF?= =?utf-8?q?EnPWHuV+OG1o6N9x3Lv2ipT1K0XvQrffoTlHbF9qDklxLhbzNlPTRKI=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e7944d3-5ce0-4887-e6cd-08d9e7e62e4e X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2022 13:56:45.6459 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MOP0mNkrjclnD/3NzlMlYxoWDB2ZTLoiXswsx2R4RuYt1/mCJEJjq7NMXqPC+zYBTa2WGJ4GLxaLeMjImTvIZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4538 Models 0F and 17 don't have PLATFORM_INFO documented. While it exists on at least model 0F, the information there doesn't match the scheme used on newer models (I'm observing a range of 700 ... 600 MHz reported on a Xeon E5345). Sadly the Enhanced Intel Core instance of the table entry is not self- consistent: The numeric description of the low 3 bits doesn't match the subsequent more textual description in some of the cases; I'm using the former here. Include the older Core model 0E as well as the two other Core2 models, none of which have respective MSR tables in the SDM. Fixes: f6b6517cd5db ("x86: retrieve and log CPU frequency information") Signed-off-by: Jan Beulich Acked-by: Roger Pau Monné --- While the SDM table for the two models lists FSB_FREQ, I'm afraid its information is of little use here: If anything it could serve as a reference for the frequency determined by calibrate_APIC_clock(). --- RFC: I may want to rebase over Roger's addition of intel-family.h, but first of all I wanted to see whether going this route is deemed acceptable at all. --- a/xen/arch/x86/cpu/intel.c +++ b/xen/arch/x86/cpu/intel.c @@ -435,6 +435,26 @@ static void intel_log_freq(const struct if ( c->x86 == 6 ) switch ( c->x86_model ) { + static const unsigned short core_factors[] = + { 26667, 13333, 20000, 16667, 33333, 10000, 40000 }; + + case 0x0e: /* Core */ + case 0x0f: case 0x16: case 0x17: case 0x1d: /* Core2 */ + /* + * PLATFORM_INFO, while not documented for these, appears to + * exist in at least some cases, but what it holds doesn't + * match the scheme used by newer CPUs. At a guess, the min + * and max fields look to be reversed, while the scaling + * factor is encoded in FSB_FREQ. + */ + if ( min_ratio > max_ratio ) + SWAP(min_ratio, max_ratio); + if ( rdmsr_safe(MSR_FSB_FREQ, msrval) || + (msrval &= 7) >= ARRAY_SIZE(core_factors) ) + return; + factor = core_factors[msrval]; + break; + case 0x1a: case 0x1e: case 0x1f: case 0x2e: /* Nehalem */ case 0x25: case 0x2c: case 0x2f: /* Westmere */ factor = 13333;