From patchwork Tue Apr 26 10:04:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12826778 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 7BB3EC433EF for ; Tue, 26 Apr 2022 10:05:04 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.313636.531283 (Exim 4.92) (envelope-from ) id 1njI3w-0000Ns-Mx; Tue, 26 Apr 2022 10:04:52 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 313636.531283; Tue, 26 Apr 2022 10:04:52 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1njI3w-0000Nl-HA; Tue, 26 Apr 2022 10:04:52 +0000 Received: by outflank-mailman (input) for mailman id 313636; Tue, 26 Apr 2022 10:04:51 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1njI3v-0000NY-Mo for xen-devel@lists.xenproject.org; Tue, 26 Apr 2022 10:04:51 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 4f45fbac-c548-11ec-8fc2-03012f2f19d4; Tue, 26 Apr 2022 12:04:50 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-25-x_HgQ9plPkSOtXWqm449xA-1; Tue, 26 Apr 2022 12:04:48 +0200 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) by VE1PR04MB7358.eurprd04.prod.outlook.com (2603:10a6:800:1a5::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.21; Tue, 26 Apr 2022 10:04:47 +0000 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5cb0:5195:4203:7c2f]) by DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5cb0:5195:4203:7c2f%9]) with mapi id 15.20.5186.021; Tue, 26 Apr 2022 10:04:47 +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: 4f45fbac-c548-11ec-8fc2-03012f2f19d4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1650967490; 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: in-reply-to:in-reply-to:references:references; bh=nfvkLKxgZzpvNh45ZE00gKlfe5dLJE1wRsQWU7S2WTw=; b=dmBEL6ci7IJVafYDD8mRxnxqUBaa7QccA2bOj4TtcMcqnOP5rj11yVDfRW+pngA0FuO3Mi 4GRdrAEO0Qn9N15M4aGHaoXmHJ0bNrQ1dI/as5FVkju1kBXA0wbogre+wCZ4gh1ZVNkFI9 aaCvXyz1BXdGWke+Sa+tzb8lFqr1EFE= X-MC-Unique: x_HgQ9plPkSOtXWqm449xA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PAz+FdWzrIJ+uQarPrKlgDZRWGEO24nSTJhhJgbW39Y/91X7auGdApdW4WBvsgJi3v70L+bJdi8VUnNHxKQNcEiTU7XgmqT7y8mfRuudtzDUQyTMxGMA83rAMY0fvBc61aSBXpV0qH0euqAqGcle3A0aW2NIhySlmWRnh4xugEXvFjxgUZ8BnXqoocK8xM/HSUzaC1VXYZsiHotdCxA6CiXXbq2SzH9P7WU+QpP/bOr1xaBGbfYqElPVkrHFEwlRYST9QtfCGHi79fHm+jIE+nLq2sCUOQ5qIwzM+BA3Oq58tus32XBpmEEL3vWiih74OBEslIV9URtuSNbDy9qKCw== 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=nfvkLKxgZzpvNh45ZE00gKlfe5dLJE1wRsQWU7S2WTw=; b=J0rwVSM9JCqGuJm04XFmAE8avLQbMgghsc47M2yGUpI15jCV1KPZQGUcBC40XE2KRrPa7D3ci67UGk+J90M4pf+9iBjX8NuXyaA7+OYq8rQAQxWU1T4QFfllLuw5AofQlkHDd8zbPywIhu3q0cRVKFoTMGQ+h3FRgE7Eyyb2ckxoZgOfc6ga/3YLw+rYC92ItXnoFwwmYRBghjmGFw3E0OIIJgP7mOjntvtWgjIErDuunj3/Xsm40BZnAgTX5S12U0Xl8XAGMCKMx/eLFAKvkcXDc0K9nVTnoUmyGEgb4LKDm2FwWX5aDp0JtLHgSM/u7XzVijJNBsY+hZuDw4lhaQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <974cdc87-cae1-2c5a-4c3a-98c5d98a5425@suse.com> Date: Tue, 26 Apr 2022 12:04:45 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: [PATCH 1/4] x86/mwait-idle: switch to asm/intel-family.h naming Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= References: <4eae5ab3-361c-4eac-619c-160147220be4@suse.com> In-Reply-To: <4eae5ab3-361c-4eac-619c-160147220be4@suse.com> X-ClientProxiedBy: FRYP281CA0007.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::17) To DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 28725fb3-0321-465d-df02-08da276c31ae X-MS-TrafficTypeDiagnostic: VE1PR04MB7358:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UWde5jewysNqQP9v9Q008uj2g2kEB78DSO7jKcQmU3teBs/zPCVHBJcjwstdzPh+ECiWR9P/CYJ/yt+MlFwE3sks0+zj/bO7wZpOxUl2JtZOvwyi05Jsr0RA+tb4SSmfHNfiFRT1YhTdMZhHDpJ7Cfy8xqlPlvvokZv1gdsc9/rR20UnXzsEtlIsa+7tOZzRVZu31JnhzFXoCJbblDEM+SB+iIHeZofRu3DOnfkhFzu64eocjCfsFj4znkf5Dn0NePnT9tVY0Cs+KzjbcgeeB3ose5UzO6+rnbdJK3zmyzS7CWIyQeHhtrYcgM25Ub5WGqmyEnxzZsKQOsk8rZRqml07h8rytQuqr1u7ggvBS8zm2Xjmtch4lUC/GbcT9v9ikO5dU+W4IIyyQ+5okmeNxpiDj2vuVMhv3PxGP65DcLyJbK4TAOeGLfVNWYtOokTczv+471rRG6I59zG3pidnNEWjNuqaZhDFYF1weRAgx1TzBaDnxGG2PKboP5CDhiApOHV7OYk8KUsNvn6y2VRWUBZqBDWWdrkheULbMA8Z18sCezG4TdvU9UfztPHbA+PsuTxMu50u4Tb2NTiWNbb63D4sbiEKOeORvqOe1DY3/iQftF8Edb5j9CwziDX/jrGNLyj4hcNGzFfswKS9nrYOvWw25wEO/zkQT2ZD3Cdahl0W83VhY46oQR44O16zWb/OCS7VrjpIyOI/Tw2gZbav4PkuR2mAH3fzx0hOtIVMEgzXEFetywFS7CG/j/eWEKiT X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8616.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(36756003)(2616005)(8676002)(5660300002)(186003)(2906002)(31686004)(83380400001)(316002)(54906003)(6916009)(6506007)(66946007)(66556008)(66476007)(26005)(6512007)(8936002)(6486002)(31696002)(38100700002)(508600001)(86362001)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?bYZvbIdFIBURL5RVPfyYK/jSPVRh?= =?utf-8?q?/0oLqoEIV3n5OrqQtc70M+bYSWd6jc8cxTLY0Xpb2w5mTzV9IRHdcq64USyNBp6tk?= =?utf-8?q?M1BQ0JbRwMvTt6q0Zts65+7k0pXRoshqPaTikpJ3DKPWE4pdlJZi5+Wh4AEe3dZwl?= =?utf-8?q?njWqjw6+XavhK7ttXFbOBBXcHNF2tSd9pGTb+Qlrl7XLtsGy8CVd8IU/oOJMd+9JD?= =?utf-8?q?5P+4GrcdDmNuOKMLuSkWkJK6FqRutpqSP6EBFdZdIu1cGkiYcFty/gktWCnZnDp2M?= =?utf-8?q?oeYmkcHfiTdp6ykHGmQ1SIoi85M+AFC521Ra1sUEv6gPxVBRAhxENj3K7z3aiphoc?= =?utf-8?q?yz8/CdE52TKM/7vOkRfJi1tnvhcVnxXBhllFqPxyf4iD69AhizwBk1rKYvPGEsDVC?= =?utf-8?q?/XAvtoNdsLMUie1fxtOM9JnY1+Xm3Vbat4+zKaMxfNE2Y1WXKrxtKQ+gEs8y7mQVR?= =?utf-8?q?ejsNW2xf7R65u4TndW7fQzMNUYl2aHYQUe7HdHC7JQXV1ZPKy5DTCDxN41SANTQfJ?= =?utf-8?q?pk/pN+EXIC2PLYD0U7ZD1Xb5IZv67rN+aEYzOBAI6MGayzRq/1U+A8xseuw8KA5wk?= =?utf-8?q?gtSdYFWzmDhbmtr0cJeuh9zD9aJ3sN5CtCEsFENYm8P1bFB7jwnw9Nhh5/sw+9ljn?= =?utf-8?q?Kfjd1wwlC4NLTwNAT0H5nd8GXv8ySApg3KQxoMzmLeiorM7Qt/eqYkEVA29rVF2eu?= =?utf-8?q?WikL4sukVWoknIJSgq9y6CDQTZqwNfrbVwwNM0tz4zpIrAptKe3saAte87ZkRD5he?= =?utf-8?q?DnQibIs5K5Kn+TqUPKFJHrCZ/e4sn26I5BfwdA6EKyjXpovv4OHkpDmkl0ixApJaj?= =?utf-8?q?tasytuk/z1t9Gq6TRF3/tvv0F3Rr4SSF36ErTQ5Ar/VBsWyi+NhUDmuOlk1iqXhK7?= =?utf-8?q?/s71GfUPAl2DSTNIo/i/xaQ6QbHEE18+noQmIdqn4xyvEXIFXisHdP7rFJ5RE4g5L?= =?utf-8?q?RWBcIb1vomsHD8cx+KJg/xXmp+RlwjqwH3m5QF2rRmNP95KHJTKQSKr1/Si2WlrUB?= =?utf-8?q?uU1Lvf3DpkkSyXdxwGzMEAihj3mwqsYhkiyjRZdy3pa/JnvlAKBE18jnNc9NDvTrH?= =?utf-8?q?xb7TlQfR31SNccWPCw/0/w07YW5J0+arwNBOK5dXOA31cknEIrnGzQfykLYCANtl3?= =?utf-8?q?JaxvNDPuw7d2BfiFqTPq+Pur7o8m7v1jJgnf+iS8AZZU4JK9abqjg7ACwBE/9QJvJ?= =?utf-8?q?3C+iPDBbGcYx5PkjBwVhMZQ6/8SQEgpruwwoDOGUqXDf9h2rRJFrPBaHQYZOQu0dD?= =?utf-8?q?XgQ/+KdSMWIVHYzXBuEmoE5m0wTzrkaQIDIHx0JJ8EjPVeHVPtLCv4aHzOa5aCrw5?= =?utf-8?q?GktFdCvWEi3vJoWz+xmeJNB0pfBI81hP6u+c8cjJQiBmyWlEz+g8o2zzOxMFvzyUg?= =?utf-8?q?Exngdr0yvx+YSH+2QC5Pt4B+ivLjbRVYV+S6ONDOwlQouwKA1DCJvlAKxK3B5L07a?= =?utf-8?q?B55rS0JDaos+3k18xdleU4Qv8d2iSpVoLJzDyKFC+2o4eCVxZvH4mioYC4/RDTIS3?= =?utf-8?q?lqB9VFtteG9VAz0mlA4Mnl58RHzgUnbkiqrDdnRvr7RbTE049j8mlTDS9jCsq+NuT?= =?utf-8?q?/EGvXyL34Qye+ueZKbZJeaTvOHuYG0MjZgLeuIejE6Aguj5buE7SccAi0wcOsNUjB?= =?utf-8?q?039Lm8wq6RoWhXb45TmuSm0NxK89NEaA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 28725fb3-0321-465d-df02-08da276c31ae X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8616.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2022 10:04:47.1560 (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: hBV+t2uBUdzGowcA+Z6ueNeVzwUYz/5zASu7Fj9AZqOkiLBZZLoeHEMvqgizAM+skfSwoRlHCeF3YaU9J3WdNw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7358 This brings us (back) closer to the original Linux source. While touching mwait_idle_state_table_update() also drop a stray leading blank. Signed-off-by: Jan Beulich Acked-by: Roger Pau Monné --- a/xen/arch/x86/cpu/mwait-idle.c +++ b/xen/arch/x86/cpu/mwait-idle.c @@ -61,6 +61,7 @@ #include #include #include +#include #include #include #include @@ -996,48 +997,49 @@ static const struct idle_cpu idle_cpu_sn }; #define ICPU(model, cpu) \ - { X86_VENDOR_INTEL, 6, model, X86_FEATURE_ALWAYS, &idle_cpu_##cpu} + { X86_VENDOR_INTEL, 6, INTEL_FAM6_ ## model, X86_FEATURE_ALWAYS, \ + &idle_cpu_ ## cpu} static const struct x86_cpu_id intel_idle_ids[] __initconstrel = { - ICPU(0x1a, nehalem), - ICPU(0x1e, nehalem), - ICPU(0x1f, nehalem), - ICPU(0x25, nehalem), - ICPU(0x2c, nehalem), - ICPU(0x2e, nehalem), - ICPU(0x2f, nehalem), - ICPU(0x1c, atom), - ICPU(0x26, lincroft), - ICPU(0x2a, snb), - ICPU(0x2d, snb), - ICPU(0x36, atom), - ICPU(0x37, byt), - ICPU(0x4a, tangier), - ICPU(0x4c, cht), - ICPU(0x3a, ivb), - ICPU(0x3e, ivt), - ICPU(0x3c, hsw), - ICPU(0x3f, hsw), - ICPU(0x45, hsw), - ICPU(0x46, hsw), - ICPU(0x4d, avn), - ICPU(0x3d, bdw), - ICPU(0x47, bdw), - ICPU(0x4f, bdw), - ICPU(0x56, bdw), - ICPU(0x4e, skl), - ICPU(0x5e, skl), - ICPU(0x8e, skl), - ICPU(0x9e, skl), - ICPU(0x55, skx), - ICPU(0x6a, icx), - ICPU(0x6c, icx), - ICPU(0x57, knl), - ICPU(0x85, knl), - ICPU(0x5c, bxt), - ICPU(0x7a, bxt), - ICPU(0x5f, dnv), - ICPU(0x86, snr), + ICPU(NEHALEM_EP, nehalem), + ICPU(NEHALEM, nehalem), + ICPU(NEHALEM_G, nehalem), + ICPU(WESTMERE, nehalem), + ICPU(WESTMERE_EP, nehalem), + ICPU(NEHALEM_EX, nehalem), + ICPU(WESTMERE_EX, nehalem), + ICPU(ATOM_BONNELL, atom), + ICPU(ATOM_BONNELL_MID, lincroft), + ICPU(SANDYBRIDGE, snb), + ICPU(SANDYBRIDGE_X, snb), + ICPU(ATOM_SALTWELL, atom), + ICPU(ATOM_SILVERMONT, byt), + ICPU(ATOM_SILVERMONT_MID, tangier), + ICPU(ATOM_AIRMONT, cht), + ICPU(IVYBRIDGE, ivb), + ICPU(IVYBRIDGE_X, ivt), + ICPU(HASWELL, hsw), + ICPU(HASWELL_X, hsw), + ICPU(HASWELL_L, hsw), + ICPU(HASWELL_G, hsw), + ICPU(ATOM_SILVERMONT_D, avn), + ICPU(BROADWELL, bdw), + ICPU(BROADWELL_G, bdw), + ICPU(BROADWELL_X, bdw), + ICPU(BROADWELL_D, bdw), + ICPU(SKYLAKE_L, skl), + ICPU(SKYLAKE, skl), + ICPU(KABYLAKE_L, skl), + ICPU(KABYLAKE, skl), + ICPU(SKYLAKE_X, skx), + ICPU(ICELAKE_X, icx), + ICPU(ICELAKE_D, icx), + ICPU(XEON_PHI_KNL, knl), + ICPU(XEON_PHI_KNM, knl), + ICPU(ATOM_GOLDMONT, bxt), + ICPU(ATOM_GOLDMONT_PLUS, bxt), + ICPU(ATOM_GOLDMONT_D, dnv), + ICPU(ATOM_TREMONT_D, snr), {} }; @@ -1208,20 +1210,20 @@ static void __init skx_idle_state_table_ static void __init mwait_idle_state_table_update(void) { switch (boot_cpu_data.x86_model) { - case 0x3e: /* IVT */ + case INTEL_FAM6_IVYBRIDGE_X: ivt_idle_state_table_update(); break; - case 0x5c: /* BXT */ - case 0x7a: + case INTEL_FAM6_ATOM_GOLDMONT: + case INTEL_FAM6_ATOM_GOLDMONT_PLUS: bxt_idle_state_table_update(); break; - case 0x5e: /* SKL-H */ + case INTEL_FAM6_SKYLAKE: sklh_idle_state_table_update(); break; - case 0x55: /* SKL-X */ + case INTEL_FAM6_SKYLAKE_X: skx_idle_state_table_update(); break; - } + } } static int __init mwait_idle_probe(void) From patchwork Tue Apr 26 10:05:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12826779 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 68CACC433EF for ; Tue, 26 Apr 2022 10:05:26 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.313641.531293 (Exim 4.92) (envelope-from ) id 1njI4J-0000qN-2N; Tue, 26 Apr 2022 10:05:15 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 313641.531293; Tue, 26 Apr 2022 10:05:15 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1njI4I-0000qG-VD; Tue, 26 Apr 2022 10:05:14 +0000 Received: by outflank-mailman (input) for mailman id 313641; Tue, 26 Apr 2022 10:05:13 +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 1njI4H-0000hM-8i for xen-devel@lists.xenproject.org; Tue, 26 Apr 2022 10:05:13 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 5c6381f8-c548-11ec-a405-831a346695d4; Tue, 26 Apr 2022 12:05:12 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2056.outbound.protection.outlook.com [104.47.14.56]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-20-3_r9ETmuNiu4y_DjjBqywA-1; Tue, 26 Apr 2022 12:05:10 +0200 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) by VE1PR04MB7358.eurprd04.prod.outlook.com (2603:10a6:800:1a5::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.21; Tue, 26 Apr 2022 10:05:09 +0000 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5cb0:5195:4203:7c2f]) by DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5cb0:5195:4203:7c2f%9]) with mapi id 15.20.5186.021; Tue, 26 Apr 2022 10:05:09 +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: 5c6381f8-c548-11ec-a405-831a346695d4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1650967511; 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: in-reply-to:in-reply-to:references:references; bh=hsBeSiMQBYJ8DaiSl7aINKcWykVorNvddkc7DYO2PHw=; b=RReMBECklLBtC4e48YVr6FugeZjwv76psssQ6vpbOjYtB29JEJhCRlHKo61JiVlFMmmy5t vB3yB/2EYyyk6Uhz2rC4jUCVivhnNT/dF29nBgOfLmh+7zR37KlzLxfh6M4kJvRDN7y08A slQTN+yL5kgS0qzEm55+Yv88CWhuLVY= X-MC-Unique: 3_r9ETmuNiu4y_DjjBqywA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XghLsbtarZ+nw6G3zHhyO98g6+2iz88I3rGIIqj28nwMXqiQCuXHKEImXDIKyZ3r/aTH80FnK0l3MfAyG9ebhZWB9xDqHbq8XoUorZZSBsxzWSYVhSs2J35A8drSwtR07krSdJHlJp50DCgElsu2NfkaIPW87WMl6UPmNfrTLvw5J2VZRteROKk5pwYS973vBKiGnqEmDrRJmaIOW6DYXRoXHl8ipLBKHT+b3GOeG9luQGrgRznF+oDP4WbcFXoD5egTMCxvkJgfdurU1XqKnKss9wyF+LI0MYig/AiEoGbS76X4KR+OR+qtc9yYzERJlMk9HEo+zPgacr7cnLnXxQ== 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=hsBeSiMQBYJ8DaiSl7aINKcWykVorNvddkc7DYO2PHw=; b=aP9miXisitKiumBjpUBYEuwJg6BtO/wyqbtZhQJ/OLKNluavjv9cgYux5N1asaWCNWHZXIYYVA9JCBYNgrE+db6OEHthlEL7v8kI8yZWoO3aBVeY5iAAWby/LvYE0AdKDRWMdTCj6XUFDeHfXBC67+bZJlWtV65LBk7C8uiivtjvuKNcXo6Vv95Qyphbpm/FGU1m2lAufhr8s4A3OI71H0XkYpg6zQc3EWQOSnpeuVW+Q7L2EUkKST1oFVKPM/fnn/k4XT31wEPODmmM/zUa9yey3ZagfmWki+0qC656Yb1CsknxGS/PGk6+T+GFheZtsTw22Sb14PHxTjizkjzrVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <722833a9-e6bf-1a63-e866-aed0648c785e@suse.com> Date: Tue, 26 Apr 2022 12:05:07 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: [PATCH 2/4] mwait-idle: add SPR support Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= References: <4eae5ab3-361c-4eac-619c-160147220be4@suse.com> In-Reply-To: <4eae5ab3-361c-4eac-619c-160147220be4@suse.com> X-ClientProxiedBy: AS9PR06CA0765.eurprd06.prod.outlook.com (2603:10a6:20b:484::19) To DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c3009757-dc59-4d9f-595f-08da276c3f2f X-MS-TrafficTypeDiagnostic: VE1PR04MB7358:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: d7vxolkD7qJQyEtil8oiep6UiDKzJzAXOx/dBe09YFLxOdiGGtYgAKYf6jgAG7OqXguvm914R/JrhI4ZQCbs0Hty6ZXMLy0jPF2AEsu8+cooEe9DO+beqbWEhIx8kOYou3JVw1SjvbaKVh+LasshZ3rynjK6xGVrDmxcd8EV/+FKlBGotwPht8xmHgYzwEDUt6BwPjI8yBNovA9G3OP5ml6jeFAOb4jQOIIYsurtz5YqjCabLFbk3E6oNGYv4dFFwNB1pdiV9BJ2eJjfkEpboXC69TujRXayGIRTTPZVlf36GAFDXXKiFVmxzW2MhGlFy20UHHyDeoaZyujjhyeGVmSUhg+qabLSGZhsX0dUYI0/c7r7AYp+cj6Lnz0Qm4jD5OgW+xf3VnoTZ1eTMw5JzqaWXV8gL1YaHH0RRVAwVEEnYHcMYDu1NSjxDZNeQL9kYl8VIInySgbnApNXptcSKduR7qx7a/M8TfG/cgrB5hpleCtzStOVLhgRsIPipA1xMKPz8CHUo2LT8fhw4eQieOoEKZqKctWwePHJUAx0pwcgqyNKm0RvwTA4dyolGM+qoflRxCyf2w1obP1vb+/LDXwWBA0ePTRjr2IGm5fzBk1LODsXJ76ONiv5sJrUvHdsX1mgdq3YlmQPJ6xRzD8EiUJDJBjwibS68/HIGeYZFggvUF1eZj0QwKTkbssTRqkLjOq21sPNtinIf9mtdyuB4+tilF1hJXiAC0oH7HPt5/FnZMC+E6za1xwcb7yujQDMhB7UTHMj+E/ZmMZdvPYWKhblNX5yF00N4mt2NbCH6taNpAJhccmDcKNVJ5TSLfreRBM4xxzskNppHLbDXiLXmQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8616.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(36756003)(2616005)(8676002)(5660300002)(186003)(2906002)(31686004)(83380400001)(316002)(54906003)(6916009)(6506007)(66946007)(66556008)(66476007)(26005)(6512007)(8936002)(84970400001)(6486002)(31696002)(38100700002)(508600001)(86362001)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?ewYKR8qk4vGTLch6MfnlHjhX813D?= =?utf-8?q?lXPBtEmh6Td/MmsQ3DSuD05d+kU3x/qrytR9s+lpekW6AROQn+PLhcW/Brt/0GQAA?= =?utf-8?q?yjPVTMgZWpf0+O3A2WLfbTpojKNi0KgeQtpMp9r+nbSDNKkOntmhHK7Vs8XxGNJ0X?= =?utf-8?q?3eSDF6QyYmcSI2j+GzUxzdbqtnLAUzJiwFcx7RqvIATqBO1KMz2AdtzWMDfbMT+HN?= =?utf-8?q?B+HiSjmuifhyQ0FtDdeeJKEz71zVpqDigtYIbk8SJqfyREbURyn6VejOuzuo0veF3?= =?utf-8?q?UQAC/riLcZtyTUs57wEjwSx1p0RsRpgMlS/jo3ic8pFEmW5wcChhqH3bkkD2M4U/N?= =?utf-8?q?9mO1S02PwMAJ1ihgRtW6onrcQHX6piJZyPynnt98gS3ONOTb7gf+kwilq970uvPkT?= =?utf-8?q?cEDM5T1/uoCzxISykF0TpTTsFcSmCkVkZU2isX3QzZy/Cj2acKSNsIRzg+UJqLC9n?= =?utf-8?q?nHfJ7rhXa/ELil1MdeRevVNiKAF+NzyoJzF7yud6VH2rlt2weyZdyRW5vfXE6/eAS?= =?utf-8?q?QwpU1m+0xf1UqxHTKP9XRW7SUwAIXo45l9oplJ3ZBxOxspDOhFKhPMa2TmNd0REcH?= =?utf-8?q?r8vKQikEALktb4F9MrAQbutXxkV/yRQeFrDKwWiEB/o2X2QIFyBlPPx5Kf7ZzUu2S?= =?utf-8?q?+qrrr3FBTM0ATOexspTLb6DVHtgiynhtNi+LOaUgoBCMDg6mrdY4AwV/yj25yvp9H?= =?utf-8?q?yJiQ3Ybrc9volKlMHAtDUINgNkXv7MCC/cNb8p7arNrRag8o64wwAn/UP604ijvN1?= =?utf-8?q?zsnFYfFXIWLI5WKT7xYToULyjk0nvOmK5KYOJKRALE9XwGRh25Yajt9A0q06VGpmu?= =?utf-8?q?TDmNbdgMiB0uSgcuoOgCusnI5FkXQ0cVw0rgAgHqSFrwq4oTiXokC0LBI4fF9lJZm?= =?utf-8?q?CWRH8n2a/LLLu4gCGMRxzSqemfzJOSv4Hnay0R4j9mbzTEnmg0VFSQF4f4aNGaQVk?= =?utf-8?q?MnEM+w0HLKLA9GiFm9neXEQ09T4ymOs8vO7bsxWRya9Mek304nH2fA+HOioo2ObS2?= =?utf-8?q?2aWblEVnIeMKjmrNZeLuSDW9HGnixSiXrI7VKcfvhzH/Nw9xgKimbRy+tNyMcKQNb?= =?utf-8?q?ECHwF0Q1yY9RpEaUaw4nJd78GDEsmd83RVL8j7aJE1E+raMhXwm3TOuZb1BfLcHXg?= =?utf-8?q?mYbIjSuWYv0UjFJbgRc4hJSZ1F27kJqInxAlSxXuAIUrrvkphj1W0MljU1lQwwZ9F?= =?utf-8?q?MHYyTC/0ruQIUfNis1nHy+KPZoeOK3Y5NJchpXagCOIb3ldKBBHuAT369XPL6XySO?= =?utf-8?q?mavnRsoiHVU2NFivFGlBE/UOrrRwhwm7iRPnJ7tZnvnqsFQ6wYhr+MfAkbQAWHmfg?= =?utf-8?q?XsrZridfUZEA9hW3TB4zThv7PDPK2FXlF7JvUv56uXb43+cSpKZ1FfM8w9zTd74WM?= =?utf-8?q?WgIAVLvCfxGn+TNKjeByqp0DrhQEyX2RKavygw4ZkopQjVTkhT2je750+wFne+Ij3?= =?utf-8?q?3RcGAZBZBbUgkpeXI/alN13OX7yT5RBzNy3jFTEGKyPL8B5Hgtxwb/u6ew7q7W5vo?= =?utf-8?q?rlvbyh1cP+4oDmrC+vm7t+7VITpPRlUVF8aU3Toe7FCPlIWDlnghpZLitPrINRNJM?= =?utf-8?q?sgDaLDt2Ttn1/1byqU2gDAsf9cxhf295OkpwyVraM1yJ9uBxSSi8XLdq6kQzTGpOo?= =?utf-8?q?a6mHiMFa6gJhLfpS+i7LnsoU3pliE3ZQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c3009757-dc59-4d9f-595f-08da276c3f2f X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8616.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2022 10:05:09.7615 (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: u9DnEWv9EIsHO3Gjde+7/pof9Dosdf7EKBvxzdagGcUeDDZuknahFib4XyoWvAgdnv0zQecWcQzDTFqlL7OswA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7358 From: Artem Bityutskiy Add Sapphire Rapids Xeon support. Up until very recently, the C1 and C1E C-states were independent, but this has changed in some new chips, including Sapphire Rapids Xeon (SPR). In these chips the C1 and C1E states cannot be enabled at the same time. The "C1E promotion" bit in 'MSR_IA32_POWER_CTL' also has its semantics changed a bit. Here are the C1, C1E, and "C1E promotion" bit rules on Xeons before SPR. 1. If C1E promotion bit is disabled. a. C1 requests end up with C1 C-state. b. C1E requests end up with C1E C-state. 2. If C1E promotion bit is enabled. a. C1 requests end up with C1E C-state. b. C1E requests end up with C1E C-state. Here are the C1, C1E, and "C1E promotion" bit rules on Sapphire Rapids Xeon. 1. If C1E promotion bit is disabled. a. C1 requests end up with C1 C-state. b. C1E requests end up with C1 C-state. 2. If C1E promotion bit is enabled. a. C1 requests end up with C1E C-state. b. C1E requests end up with C1E C-state. Before SPR Xeon, the 'intel_idle' driver was disabling C1E promotion and was exposing C1 and C1E as independent C-states. But on SPR, C1 and C1E cannot be enabled at the same time. This patch adds both C1 and C1E states. However, C1E is marked as with the "CPUIDLE_FLAG_UNUSABLE" flag, which means that in won't be registered by default. The C1E promotion bit will be cleared, which means that by default only C1 and C6 will be registered on SPR. The next patch will add an option for enabling C1E and disabling C1 on SPR. Signed-off-by: Artem Bityutskiy Signed-off-by: Rafael J. Wysocki Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 9edf3c0ffef0 Signed-off-by: Jan Beulich Acked-by: Roger Pau Monné --- unstable.orig/xen/arch/x86/cpu/mwait-idle.c 2022-04-25 16:48:58.000000000 +0200 +++ unstable/xen/arch/x86/cpu/mwait-idle.c 2022-04-25 17:17:05.000000000 +0200 @@ -586,6 +586,38 @@ static const struct cpuidle_state icx_cs {} }; +/* + * On Sapphire Rapids Xeon C1 has to be disabled if C1E is enabled, and vice + * versa. On SPR C1E is enabled only if "C1E promotion" bit is set in + * MSR_IA32_POWER_CTL. But in this case there effectively no C1, because C1 + * requests are promoted to C1E. If the "C1E promotion" bit is cleared, then + * both C1 and C1E requests end up with C1, so there is effectively no C1E. + * + * By default we enable C1 and disable C1E by marking it with + * 'CPUIDLE_FLAG_DISABLED'. + */ +static struct cpuidle_state __read_mostly spr_cstates[] = { + { + .name = "C1", + .flags = MWAIT2flg(0x00), + .exit_latency = 1, + .target_residency = 1, + }, + { + .name = "C1E", + .flags = MWAIT2flg(0x01) | CPUIDLE_FLAG_DISABLED, + .exit_latency = 2, + .target_residency = 4, + }, + { + .name = "C6", + .flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED, + .exit_latency = 290, + .target_residency = 800, + }, + {} +}; + static const struct cpuidle_state atom_cstates[] = { { .name = "C1E", @@ -972,6 +1004,11 @@ static const struct idle_cpu idle_cpu_ic .disable_promotion_to_c1e = true, }; +static struct idle_cpu __read_mostly idle_cpu_spr = { + .state_table = spr_cstates, + .disable_promotion_to_c1e = true, +}; + static const struct idle_cpu idle_cpu_avn = { .state_table = avn_cstates, .disable_promotion_to_c1e = true, @@ -1034,6 +1071,7 @@ static const struct x86_cpu_id intel_idl ICPU(SKYLAKE_X, skx), ICPU(ICELAKE_X, icx), ICPU(ICELAKE_D, icx), + ICPU(SAPPHIRERAPIDS_X, spr), ICPU(XEON_PHI_KNL, knl), ICPU(XEON_PHI_KNM, knl), ICPU(ATOM_GOLDMONT, bxt), From patchwork Tue Apr 26 10:05:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12826780 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 025DBC433EF for ; Tue, 26 Apr 2022 10:05:47 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.313644.531303 (Exim 4.92) (envelope-from ) id 1njI4d-0001Nv-BJ; Tue, 26 Apr 2022 10:05:35 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 313644.531303; Tue, 26 Apr 2022 10:05:35 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1njI4d-0001No-7o; Tue, 26 Apr 2022 10:05:35 +0000 Received: by outflank-mailman (input) for mailman id 313644; Tue, 26 Apr 2022 10:05:33 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1njI4b-0000NY-7R for xen-devel@lists.xenproject.org; Tue, 26 Apr 2022 10:05:33 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 681e441b-c548-11ec-8fc2-03012f2f19d4; Tue, 26 Apr 2022 12:05:31 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-17-NP51lWqxPAmzj90HzgZXIQ-1; Tue, 26 Apr 2022 12:05:30 +0200 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) by VE1PR04MB7358.eurprd04.prod.outlook.com (2603:10a6:800:1a5::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.21; Tue, 26 Apr 2022 10:05:29 +0000 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5cb0:5195:4203:7c2f]) by DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5cb0:5195:4203:7c2f%9]) with mapi id 15.20.5186.021; Tue, 26 Apr 2022 10:05:29 +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: 681e441b-c548-11ec-8fc2-03012f2f19d4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1650967532; 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: in-reply-to:in-reply-to:references:references; bh=V8XyV84mse8tuFsetJlisN+guE7TcB4fbUoJF+UDFJg=; b=CAUNz5ZKUWLY3PgMhUchKbN8QW3Msn3Se2+L/KRj3vlUNDq17tuZgschKxDMHD6BScy2hM LjaB+S5YLGiFNEGkxHBPLg+tAtlZd7Cy79WW9Up0glNiYCaFS0ylJ4I9cHxWnBjmJ6UjJS zqJ33Km5GVXYYryhO+LFgKOn3aS+z+s= X-MC-Unique: NP51lWqxPAmzj90HzgZXIQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d2n1mtdYf5goyiy6WnINRTy+oihxM/HzRoQx32gLrFLijXCf8OMfJ+rifivITAAtPUzcBg7KDkS/jNxUgGPB41Gguv7UuUN5C7Ell+JlDiBXRha0pau0ZgVBcWR32Ki9/kj6ET2GbjEw5UvpenfGMAnMoLx9yovRhL0CrvlVqSOxF+8nbILq6P1fis+XFL6UF8e6cfXju6EmHD/Fn9XuHfFeMh2swTyl8/lg9VZGyz2GL29q4Q0z48UoBfm6lNZH9ejb39TljPkWSRlZNjcp1R3FeNd+h7GDYHLLB7L2Lo0D2Se1R4BJhUiAi4QpEO/Q4FDVBI+qw0JYprhnHhlIiw== 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=V8XyV84mse8tuFsetJlisN+guE7TcB4fbUoJF+UDFJg=; b=V0GuZJiIA8qw9T4O8sf1sA+Xb/B+t8tLjCbXR+YXVwV0m7bClNVFMul5hrSnH3FhcgT8Lsa/5gihQfC0DI7HKnlH8cEW5fOUjTeDO7MUf77MrSNygGykHW1FMlbapRSP/taZynjtKWRT1jRwQAEznL/imvRHP4ttEUyrWmzhkFvYGL3jyK50d1PKMVPTLe2YTdiEPFgCH+Av585Ea66ivjdGzV17usqZ+w0yi7tLYvDi5AH2EzqC0EMHKzKkPQDmNQ00gqDXs8YaETjTCK5/FYGvtAu95zamcNQKFnAgRnJNsKdY7zi42wlwGS1tt8M5ZB8FlGpCkPw7rsxqfAUxpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <7c15016f-cc57-f128-4b79-79c820f3196c@suse.com> Date: Tue, 26 Apr 2022 12:05:28 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: [PATCH 3/4] mwait-idle: add 'preferred_cstates' module argument Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= References: <4eae5ab3-361c-4eac-619c-160147220be4@suse.com> In-Reply-To: <4eae5ab3-361c-4eac-619c-160147220be4@suse.com> X-ClientProxiedBy: AS8PR04CA0176.eurprd04.prod.outlook.com (2603:10a6:20b:331::31) To DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 97e59483-66da-4853-cc83-08da276c4b08 X-MS-TrafficTypeDiagnostic: VE1PR04MB7358:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: o3s7Ck4QIaIWdnIVdHjwsv2sz/S3hCPoEZ4NGPJvYY76QNtqU5AVHSt8OZyOVH+jeR093xhUXZr5myMVDd3XtqfxHRLZl1VZ36CKxw2Nkz+NYPQbSUgd+ineLZGe3jP/4H0GYSDu0PF5DBzJUazsLmVWSSRkVTAL1H6GWQdO8RqLQu91G7SgYSP7g3k+YT2hcttJ9pMcLKATYghBhWHwr5xUrjkdjJlprR8OUit27lzgYA+ydqcicdp6+3QdhBLF6H0kA8rZuRWs2sdWk73Tz88UO5NIckgV6ZZWSwsNCB1HWSAowSopeb7Av/XJpvIL+RWu2BeJ08VIgK3s18JQ7hBMPNa6lXS/sM4JQMz8iq1uN5RJOEbnjKEICDgYk9e9VaGimMM9sQKU5UKikBhHSAZz7lwkBtb3WntAutF57rwKNRoeFdUmSTPOiOvGvqpQLGjn5H+F2sCjooOtXDvYAjM2NOP/XcLgKuUZVqhSwld9X38g/k29fgkLq6meU3PHy9xjol6X6bJbDetPKIn5WnxjWtzgO+s3TVzXYmRk76Kx4CtE41V3MloGuBl4wDWIKpGpmMUM8MsXTu8yE6o79qI3qiPVl3uECVczCi4ch3XyxZqzErnljfCZfMdfIcx6KKet9L2kxKIg2DjqS8ALwIEpmUOyR57WCcPiu2WhwfSoDFA73KLWSyPYL8mYzdAeRdzLPYEoi72D3QCwdqygVr/ObqJyt907vw8hIdEwkfQx/XMRQV5WAHF3PT5unko3QqH8MNW09NAo+q5dfaVGujVPq/9PIFbuIaVf7RIrGp+ZS0+eSTCl6xoCA5R6+dl69VqcHUxZ9+GGmzlnBOf2cw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8616.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(36756003)(2616005)(8676002)(5660300002)(186003)(2906002)(31686004)(83380400001)(316002)(54906003)(6916009)(6506007)(66946007)(66556008)(66476007)(26005)(6512007)(8936002)(84970400001)(6486002)(31696002)(38100700002)(508600001)(86362001)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?jw3DYGLGoOzToOqMX6LuKRBECk3A?= =?utf-8?q?f8c0szzVfdh5TdPglDk85G2IEIhIVdglX2E9uyWL2WlJkicg3w6jcqzcjYl+4xwrX?= =?utf-8?q?IflQwfi0Rt+EaasEo/s9tAxlQAdWJvKYKZc++Cgi3A3/Aq4HaH07+HUF7tb+8v5C3?= =?utf-8?q?Q7rjvknI75pIUSPwhAho1Ozq7d63bo/7iSf+XoHM/PeKLFHGXgCyWLIpPbdXk0Ej2?= =?utf-8?q?5y2218gOyt0u6hh53KVUS4I+sc7+AhjQ9GqSPbwjaHa0SGtRp0jfGVi164xM5fjul?= =?utf-8?q?Z8ljhP4FTmWZAaJp11BQxylVYhAKgm7xkbDPB5NkP/txhjV6PUtOC4Wq/FgcgG39D?= =?utf-8?q?ej2J3X90lgWuLN6cDt+9KSAIQE226j3whsh0XG+TAIjx+iy6i29fhkTfzUyllAD/Z?= =?utf-8?q?ukMnkaT+u8fXhzb6oTi3sEL1Ekr4HbSGPpClexbg5pdeu5h5NzQxdQEQybEtZQ5Pj?= =?utf-8?q?N4YeKDFfXJxFsWvDBmywsIpWHDjGEr7eA3PLX5LWQ55+uAGgCnuGBxnt47q1izz2D?= =?utf-8?q?RHq4c/hOn1wtO/OaLt1LRw55bTR3G7yC+exWshFgMsD5rVIZvbhDLRZIo/v/4XN66?= =?utf-8?q?xyd5+9BX1yE4n/bEpGynkjtThlifRvd+rpVX5XcTCT+Bl2uhTQBg57lD4D6Kjrexy?= =?utf-8?q?gXdSxCPL99cvqbDxP7eD/vI6AgqPQR6XADxseKHaTPzUCRStR9zoqmaBC3fEo/x9r?= =?utf-8?q?cGW6lG1hGrfp2PrYVQA2w52c3QPlIKNnzAL25njjnZSzaf/Zn9fihTKxdh2DpkBmA?= =?utf-8?q?dEneVYmb9KypkebqgLattPyH7KAO4ToY5T1UB94c8CiXZo0yuR9P6u9rLY2fD2Ui+?= =?utf-8?q?Q8DltHdAiSr+fGkAfu/8XdUPjIzgdCRwOHsKkyqb/FRi377HbZzfAaLV/dPDONFbF?= =?utf-8?q?qRCnzdXGe8VbU2z13M3A11CwiW6uM1qfpQZMfIS1/4u9RiiLmYH0z9sVgKokDL/Ws?= =?utf-8?q?sNsi+kCApJ1g4VTilT2BN45lF+HEGzP1owIhLDaPZElAWfJejkiF9l1sf5O/GAetR?= =?utf-8?q?sE9nq/3djt9f9mhzDtjs3FXtzDb2epT2wU+ZQuNzLUHmjGM4HGTLYd/3izig0E8NO?= =?utf-8?q?P/0VW7/+tz6K4tAtwRWBem+DwnETb5xpozsDevyCN97jdyDSQzmedha3UHiXBiOEQ?= =?utf-8?q?aNXOt6BXUlWj1FjP9LBZesOClHrROAbX/wLj5rOv6UnVvKKaiCY56AimNv4CWoN6B?= =?utf-8?q?xIaZIBiITNIRBYnB5vJXoMTZYM+3JRMuezZ930x+zpbqQLd7txmY7R4N3nnwIYVoR?= =?utf-8?q?9jChk5AV0CItN8foUpZcb5f/GSCc9rY0DdFKWx1+IhKI6fOeB+uX70QFtytC9vepX?= =?utf-8?q?TAIrsHNsSChU01yWn6MzDgiWYlRp+I6ouX9WtkEEo4cxAO5qTIrsGJv0K0n3w+K9Y?= =?utf-8?q?iCbktAvulJDHGGwYZrOY4LfZpOnaTyoSfzrMR4Pq0QOzLkuAw5wPgEcsEtG+KWXnz?= =?utf-8?q?d7TFXE3oi8j8+LC8HOUQUinna2zAj2CPuk9nzvFc8wB+cNM8yEcxAWU14vxIOFXQx?= =?utf-8?q?wljj0NEbmpXXQ/DSGCkcfqqOZ5PXdKohbUlzg+4/j4wVljT6BdQ/OQG392XDqgms9?= =?utf-8?q?a0YmW5UUakddUqD1/NE5pjHG9mz8tPP9nxleH7qBMrrkVZ1wECCc4/fQwj+wh7tFY?= =?utf-8?q?cOwDrQXNDKpFYf9vzBHB3NdUrhJ4C1LQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 97e59483-66da-4853-cc83-08da276c4b08 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8616.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2022 10:05:29.6415 (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: NL2RYUiyXHdJUODnunlo5VMp5ZHrOsY0UoRLdwsW25thE3RDB/DI5LYB2XJ91PDUG+kriTalr6iRP/a+Ez6d1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7358 From: Artem Bityutskiy On Sapphire Rapids Xeon (SPR) the C1 and C1E states are basically mutually exclusive - only one of them can be enabled. By default, 'intel_idle' driver enables C1 and disables C1E. However, some users prefer to use C1E instead of C1, because it saves more energy. This patch adds a new module parameter ('preferred_cstates') for enabling C1E and disabling C1. Here is the idea behind it. 1. This option has effect only for "mutually exclusive" C-states like C1 and C1E on SPR. 2. It does not have any effect on independent C-states, which do not require other C-states to be disabled (most states on most platforms as of today). 3. For mutually exclusive C-states, the 'intel_idle' driver always has a reasonable default, such as enabling C1 on SPR by default. On other platforms, the default may be different. 4. Users can override the default using the 'preferred_cstates' parameter. 5. The parameter accepts the preferred C-states bit-mask, similarly to the existing 'states_off' parameter. 6. This parameter is not limited to C1/C1E, and leaves room for supporting other mutually exclusive C-states, if they come in the future. Today 'intel_idle' can only be compiled-in, which means that on SPR, in order to disable C1 and enable C1E, users should boot with the following kernel argument: intel_idle.preferred_cstates=4 Signed-off-by: Artem Bityutskiy Signed-off-by: Rafael J. Wysocki Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git da0e58c038e6 Enable C1E (if requested) not only on the BSP's socket / package. Signed-off-by: Jan Beulich --- unstable.orig/docs/misc/xen-command-line.pandoc 2022-04-25 17:59:42.123387258 +0200 +++ unstable/docs/misc/xen-command-line.pandoc 2022-04-25 17:36:00.000000000 +0200 @@ -1884,6 +1884,12 @@ paging controls access to usermode addre ### ple_window (Intel) > `= ` +### preferred-cstates (x86) +> `= ` + +This is a mask of C-states which are to be use preferably. This option is +applicable only oh hardware were certain C-states are exlusive of one another. + ### psr (Intel) > `= List of ( cmt: | rmid_max: | cat: | cos_max: | cdp: )` --- unstable.orig/xen/arch/x86/cpu/mwait-idle.c 2022-04-25 17:17:05.000000000 +0200 +++ unstable/xen/arch/x86/cpu/mwait-idle.c 2022-04-25 17:33:47.000000000 +0200 @@ -82,6 +82,18 @@ boolean_param("mwait-idle", opt_mwait_id static unsigned int mwait_substates; +/* + * Some platforms come with mutually exclusive C-states, so that if one is + * enabled, the other C-states must not be used. Example: C1 and C1E on + * Sapphire Rapids platform. This parameter allows for selecting the + * preferred C-states among the groups of mutually exclusive C-states - the + * selected C-states will be registered, the other C-states from the mutually + * exclusive group won't be registered. If the platform has no mutually + * exclusive C-states, this parameter has no effect. + */ +static unsigned int __ro_after_init preferred_states_mask; +integer_param("preferred-cstates", preferred_states_mask); + #define LAPIC_TIMER_ALWAYS_RELIABLE 0xFFFFFFFF /* Reliable LAPIC Timer States, bit 1 for C1 etc. Default to only C1. */ static unsigned int lapic_timer_reliable_states = (1 << 1); @@ -96,6 +108,7 @@ struct idle_cpu { unsigned long auto_demotion_disable_flags; bool byt_auto_demotion_disable_flag; bool disable_promotion_to_c1e; + bool enable_promotion_to_c1e; }; static const struct idle_cpu *icpu; @@ -924,6 +937,15 @@ static void cf_check byt_auto_demotion_d wrmsrl(MSR_MC6_DEMOTION_POLICY_CONFIG, 0); } +static void cf_check c1e_promotion_enable(void *dummy) +{ + uint64_t msr_bits; + + rdmsrl(MSR_IA32_POWER_CTL, msr_bits); + msr_bits |= 0x2; + wrmsrl(MSR_IA32_POWER_CTL, msr_bits); +} + static void cf_check c1e_promotion_disable(void *dummy) { u64 msr_bits; @@ -1241,6 +1263,26 @@ static void __init skx_idle_state_table_ } /* + * spr_idle_state_table_update - Adjust Sapphire Rapids idle states table. + */ +static void __init spr_idle_state_table_update(void) +{ + /* Check if user prefers C1E over C1. */ + if (preferred_states_mask & BIT(2, U)) { + if (preferred_states_mask & BIT(1, U)) + /* Both can't be enabled, stick to the defaults. */ + return; + + spr_cstates[0].flags |= CPUIDLE_FLAG_DISABLED; + spr_cstates[1].flags &= ~CPUIDLE_FLAG_DISABLED; + + /* Request enabling C1E using the "C1E promotion" bit. */ + idle_cpu_spr.disable_promotion_to_c1e = false; + idle_cpu_spr.enable_promotion_to_c1e = true; + } +} + +/* * mwait_idle_state_table_update() * * Update the default state_table for this CPU-id @@ -1261,6 +1303,9 @@ static void __init mwait_idle_state_tabl case INTEL_FAM6_SKYLAKE_X: skx_idle_state_table_update(); break; + case INTEL_FAM6_SAPPHIRERAPIDS_X: + spr_idle_state_table_update(); + break; } } @@ -1402,6 +1447,8 @@ static int cf_check mwait_idle_cpu_init( if (icpu->disable_promotion_to_c1e) on_selected_cpus(cpumask_of(cpu), c1e_promotion_disable, NULL, 1); + else if (icpu->enable_promotion_to_c1e) + on_selected_cpus(cpumask_of(cpu), c1e_promotion_enable, NULL, 1); return NOTIFY_DONE; } From patchwork Tue Apr 26 10:06:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12826785 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 E3846C433F5 for ; Tue, 26 Apr 2022 10:12:14 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.313658.531314 (Exim 4.92) (envelope-from ) id 1njIAh-00038G-1z; Tue, 26 Apr 2022 10:11:51 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 313658.531314; Tue, 26 Apr 2022 10:11:51 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1njIAg-000389-VM; Tue, 26 Apr 2022 10:11:50 +0000 Received: by outflank-mailman (input) for mailman id 313658; Tue, 26 Apr 2022 10:11: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 1njI5N-0000hM-4g for xen-devel@lists.xenproject.org; Tue, 26 Apr 2022 10:06:21 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 84e6b137-c548-11ec-a405-831a346695d4; Tue, 26 Apr 2022 12:06:20 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2059.outbound.protection.outlook.com [104.47.0.59]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-16--YC4MvI1N-uzH8laZoD-Hg-1; Tue, 26 Apr 2022 12:06:18 +0200 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) by HE1PR0401MB2666.eurprd04.prod.outlook.com (2603:10a6:3:86::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.21; Tue, 26 Apr 2022 10:06:15 +0000 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5cb0:5195:4203:7c2f]) by DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5cb0:5195:4203:7c2f%9]) with mapi id 15.20.5186.021; Tue, 26 Apr 2022 10:06:15 +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: 84e6b137-c548-11ec-a405-831a346695d4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1650967579; 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: in-reply-to:in-reply-to:references:references; bh=lpUvuCK3/tdepTPtfGMVhvunTplLc3OBdRwg9JqsTOQ=; b=TWrUM/0ZhosWgdYBQiQ50NkCsxjAa2qd+5dUhIkRiXhHYiIVwdhB+UWiZAOjPlYliwLmZv pxxFIqEsbiJXz9xhnzkC+nvKVN4SDNwPZFr3neRZwwFKvft7wznT2YknSl2LattBYB26+a gXrLRnRheMFlHcvG0f5zdhvCWOCwH3s= X-MC-Unique: -YC4MvI1N-uzH8laZoD-Hg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i+lypYBWvaPmIT/v3xxOzx74rBP464cpHoyt5WPJ77xg9RxhpPu3f3+gldUrzR+cZVo5rJ/0kJ0urDShMKEM32uSxUuuWi+pbAaEXNN9jvxn/FLc5nbOAVtX78+5igofmbjeoZUN9ghE0h5vrG2XFJmLnGy5zma7xlSuWtfI2Hmf2KV24GIBgBW3Wl3xTLyS3LfBt7XBySRCWY507lRqf/CTYfXVKm0ncnVBoIz99LNf7I/rbvZsPvPzBXd+1VB/VKkihbknLxNucnutqA7/GeuKD0o3wB3mxZalj2d5S8ChxkvU6TcIvlak+iQf4ZFpEMEFzq+xCaHNmkMENEocaQ== 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=lpUvuCK3/tdepTPtfGMVhvunTplLc3OBdRwg9JqsTOQ=; b=X1SmGk4UwPq8ENE09fFWvm3alOr+1dAGDZWi9bWQISGwE76O+3NJcWRDzUP8ofSnaLpeA2V1rBtmvxSJFhP8Y+V1JFu13gsxBofID7nERiMdQNnO8vYQwW6z5LtNdtriFvHNBvK8+9e69ueyt/a1o5P30aS/OhUYtgxAkmi0EEyvdCDsnlbsEWE7NTtAkC81x0g51ViFkGLgn7+pK9PnhguGvYE1wpcDqCmEARq/WOgB1ANmGw/K5Oyv1lQzI6hm7dzIftI/olveZNaerZnBZE9OdRAgu3xWqlSSfXolpZD/I+zZzl8he3zVTYujnNNkxPbhiMyELNQYhJ3tcEWQSQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <002d7dbc-8290-10d3-6e6e-c5947c1ace82@suse.com> Date: Tue, 26 Apr 2022 12:06:14 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: [PATCH 4/4] mwait-idle: add core C6 optimization for SPR Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= References: <4eae5ab3-361c-4eac-619c-160147220be4@suse.com> In-Reply-To: <4eae5ab3-361c-4eac-619c-160147220be4@suse.com> X-ClientProxiedBy: AM5PR0301CA0018.eurprd03.prod.outlook.com (2603:10a6:206:14::31) To DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8e5daaec-e975-48a5-2c86-08da276c6693 X-MS-TrafficTypeDiagnostic: HE1PR0401MB2666:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: e1G2+/1a/erlHpnJfSytMeVX/EBOrw+rwbaBE6np7t8+M8YrQeJS9KJLRiO37V9moIfkCGVo3k94zbqUI7KwlzGPoukkXLc6kUJr/fTj+p08TRS1sRO1eC4GcKGJm5Hc8CiAWlGw/0U9J3CetsnEcvhJWB349w5K6V0TOQCr0p+qlYYzJMEAxU4CSAW/Fi6A6lnb6aAkaSZrscYX8LJEHTr21ZDa+UZQ4vaP8LUKfso638P16IxOvQAOcjyhyMdUW4nZoL6tDU4hy8IjNqPiuoeSqO3/HP0dmGeNr0AlaDcxAscyHfbqG/H/qNLOf59BTDCVpkhtrQ4lx0vPd8JsA7lEsdhKHraep794GME0f3ZepvG1snltzw0Wwc+7djvmhAV/KYKwhHu6d2l64ngHzEhPaCO0FZSfeUZ/Hn185tx1u29TTsQutipJxYDQW4vUK6y7UWX/FZXLTo5XbKeyDgg9m6bH0IeqxxU7wtuy3MUw3T6DwLbq63pLWtHeGAZJqTnK0DvaIZQv6YpD/bu5B5XaQ8VZAMMSnWHvTzWETCVQ5theVT6XgxRHdnGIzk5EpUqdscaSsjjdtobT5PkP9LKligG9q1tdEgZZp9FKHITJ3cco/XW7C9TW2EeXgvb9ttUYvad3wZ4XnV7Dka3xkw8rQ/OsuXT7dK3ozedwz3BIHYu3PjmW5PNwi+L69Ttpj+0kL9jt5nOgYtx/iroW5pw1+dUrZQAPn1T3HUFfwbtqeYeDxEnXPoTdU4hMux/9 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8616.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(186003)(38100700002)(83380400001)(6506007)(508600001)(86362001)(8936002)(36756003)(5660300002)(31686004)(2906002)(4326008)(2616005)(6916009)(26005)(66476007)(54906003)(31696002)(8676002)(66556008)(6512007)(66946007)(316002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?9AgziN4apRN6LPy5W46AE4pkOEUr?= =?utf-8?q?gjuDXHMyUv9CtBO3V/EPDbvhRZ7HC/QzBkvl4rZzsEL59Y/blmj8DUmr0QgzrrKVt?= =?utf-8?q?Ai9M9ve+3AsyBE/EHdXXxi4jzH0YWWnImEAdcyygTBDyxesKniqG8DGrSoMD6O0SI?= =?utf-8?q?JQ3bbR/g+48MReO4+/mfwZCK4d5XvWxUTpdzG/bRw6+/6QvHbR3qOhM8W9PIyxJ2P?= =?utf-8?q?oQc0GjKIQCT3iL+3xGZpQtcPEnxhxb/43QPVmnBb3YVkZWRy9zbzLOSebGqpiKMA7?= =?utf-8?q?eQyyZ3tI3vkUU3M3G6bA12jINH/qIKcHrVzMOp0oviUWXNBQjSX9zlbUJIX3fFj4G?= =?utf-8?q?h9FyA7GAB6P4p3RCxCmdDoktIcIlpfyd6Kxlcg08jN6amEy2kJjFTQYoy088VL1dF?= =?utf-8?q?loYHxP8ED11BJMWwahXN/oUmdZo/olJhQYjD3juQ9J1P7P+tsx2DTvGcGukavSOUC?= =?utf-8?q?mxOehDy+quh9GXlBfGUV8A2Zj/lE3ia1NTn29DU7EELBpLRnEjtRB6V4pRquhjFad?= =?utf-8?q?Uv8eD3mc2GBTOE85rnJciJvEV3UNAxe3tgH1bdiGhRaRMDIZS3ucYB0s11NS9GKr+?= =?utf-8?q?NYiTxctR30Bu7lkdRYvt5VUlH9ZJDsEcjyy2gOLWBfyxXAv8MMEXzwoPPnof5GgIc?= =?utf-8?q?L2zw56E6B8rI0rHdzByK5eqAdvcLjjusxJXh1hT8pYa+kya/SMZ1EjJaFVGDVqid6?= =?utf-8?q?XLQLjgC6PMPr0aD8Pl3sSJHCo2Bd2fI/FzAdonL5AwZ7+YSBzwDCB5yvk0UN1tir+?= =?utf-8?q?l07GnlFXS73edj7dG9uutGgifdObKFQgBPGwSfmAX56tryR3zqN5yRLW+LSK+LC8u?= =?utf-8?q?g9WIpDESQrfuLpLuGCx1qfReFDqL7sDuriEjHSgjcDRvdJKrLFG5MkUQkT93y8cGq?= =?utf-8?q?OxxnGIMO0ap/XlIGB4JKuI7tPFXTNmp0gENyTfchq0etj1QRDiKNrvtCnAX91RufY?= =?utf-8?q?L3+39MnubJuDeJnKo3YATBWHuLJetNeLH/x/W9IovKQqw1yv9pB38BXKBzROoyuff?= =?utf-8?q?ForJ0Ietd7biWBzwOZgB33JUEKFbez7CZYrEzu1wksTdteoOwmkqgsP8AilgEg83W?= =?utf-8?q?u7CYKG2VpHLjgQ879Zt915ah6U0+T0J6uuST0IS66F44np/1cA7Ow40H46EhSwqR0?= =?utf-8?q?KvfQp4kYF7quBgja/r0v68kzeKWgiyhAhEbmNx42HhjdF1EDz/EI8cUIqY2qEtl29?= =?utf-8?q?yV1tkHadWazfGLfsdJph4GewUi8cxCXHIzn8CDoevS+iXuwhOQ1pqBpfvT3gkJnC1?= =?utf-8?q?0IkUt0h5z9rrKFDjH7KM5z+Kl8UAD085X5Bg8YTqBwqOl6T/VoJeHWxMonkqZakJr?= =?utf-8?q?nNKQ3zCWMCJG5g17hTV//rKpThZpBQ0pgEjDLTsquhtg2m+eatMmdJJy6oH2495Ds?= =?utf-8?q?rFYkDn9Txgi8n/2XkZLlx3XtjTma7LHUG935cpA1KFpRIJyBankEjpcAgc7Ui8D1Y?= =?utf-8?q?0Bz+8gQGpdBIpjfFokiYEAKVaOcPdnqr1AeSVldNsfIlF9VDW7tzzsEaNCxgF9Ky5?= =?utf-8?q?NoiN+sjhbOI+z5ylqA+fjiKhvUH6cQue6l3UhFaXQe8kEVDbnRgdFngBqKL8J+geU?= =?utf-8?q?KUS4gnHUIgdGEl4ogYFFnRLwEivU+9ZJiT1Mbyf/nlTWJdZnIQlB+autARDuc54lw?= =?utf-8?q?ON870VAV7+/rz2d3+35vJ9SknFYUpuQA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e5daaec-e975-48a5-2c86-08da276c6693 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8616.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2022 10:06:15.8468 (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: HJ0U6WSTdIWfPCzWEDzyCQTco/ctFyL3rfPv1pdHoW2mSQ5GudMwIMT1NQhgscUDA77cwyEdfr5jTLvuMfLeZA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2666 From: Artem Bityutskiy Add a Sapphire Rapids Xeon C6 optimization, similar to what we have for Sky Lake Xeon: if package C6 is disabled, adjust C6 exit latency and target residency to match core C6 values, instead of using the default package C6 values. Signed-off-by: Artem Bityutskiy Signed-off-by: Rafael J. Wysocki Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 3a9cf77b60dc Make sure a contradictory "preferred-cstates" wouldn't cause bypassing of the added logic. Signed-off-by: Jan Beulich Acked-by: Roger Pau Monné --- a/xen/arch/x86/cpu/mwait-idle.c +++ b/xen/arch/x86/cpu/mwait-idle.c @@ -1267,12 +1267,12 @@ static void __init skx_idle_state_table_ */ static void __init spr_idle_state_table_update(void) { - /* Check if user prefers C1E over C1. */ - if (preferred_states_mask & BIT(2, U)) { - if (preferred_states_mask & BIT(1, U)) - /* Both can't be enabled, stick to the defaults. */ - return; + uint64_t msr; + /* Check if user prefers C1E over C1. */ + if (preferred_states_mask & BIT(2, U) && + /* Both can't be enabled, stick to the defaults. */ + !(preferred_states_mask & BIT(1, U))) { spr_cstates[0].flags |= CPUIDLE_FLAG_DISABLED; spr_cstates[1].flags &= ~CPUIDLE_FLAG_DISABLED; @@ -1280,6 +1280,19 @@ static void __init spr_idle_state_table_ idle_cpu_spr.disable_promotion_to_c1e = false; idle_cpu_spr.enable_promotion_to_c1e = true; } + + /* + * By default, the C6 state assumes the worst-case scenario of package + * C6. However, if PC6 is disabled, we update the numbers to match + * core C6. + */ + rdmsrl(MSR_PKG_CST_CONFIG_CONTROL, msr); + + /* Limit value 2 and above allow for PC6. */ + if ((msr & 0x7) < 2) { + spr_cstates[2].exit_latency = 190; + spr_cstates[2].target_residency = 600; + } } /*