From nobody Thu Nov 5 07:28:14 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1793699491; cv=none; d=zohomail.com; s=zohoarc; b=kvuZuLhhvnLa2AO+z8yP/ElzG1XOYEHpsW1MOypJr5lPHJubGqNywrzW0yyk2VBID3/59HvQSyX65CeCIpCEsp3EKxAyv6oVxdiRiv0pVzVZV+BYEnGlJHy7KHr7jabvO4clApqmqxUlmEw+WSg+myf7oQXu26eBHDFxW9k51n0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1793699491; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=CxZOvHrfLcUpgm8GUFz5tIPN2W3obHHozpp1et7VvfA=; b=TefcJbUYcjWDjD1D1pblDodsdhZJHRJi5wqOdp6aUzQgZzJXVB308EYYuAK0h5BP51nT49U4ZX01+BYgy57E6lUroR06fx6vsCG3KPScRN+XotYayzioisygPKGEkM8vxf/Cad3Xf04NNow6HgvrdNAQmMjsJFSS2jbX9Dc1tgU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1793699491283486.9790332874362; Tue, 3 Nov 2026 01:51:31 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1469375.1678204 (Exim 4.92) (envelope-from ) id 1xOBAm-0002Ag-8C; Tue, 03 Nov 2026 09:51:20 +0000 Received: by outflank-mailman (output) from mailman id 1469375.1678204; Tue, 03 Nov 2026 09:51:20 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1xOBAm-0002AZ-4m; Tue, 03 Nov 2026 09:51:20 +0000 Received: by outflank-mailman (input) for mailman id 1469375; Tue, 03 Nov 2026 09:51:18 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) id 1xOBAk-0002AR-AY for xen-devel@lists.xenproject.org; Tue, 03 Nov 2026 09:51:18 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1xOBAj-002A4j-NS for xen-devel@lists.xenproject.org; Tue, 03 Nov 2026 10:51:17 +0100 Received: from [10.42.69.10] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6ae9ae95-e002-0a2a0a5209dd-0a2a450a8404-2 for ; Tue, 03 Nov 2026 10:51:17 +0100 Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com) by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6ae9ae95-f2d2-0a2a450a0019-d155802cd134-3 for ; Tue, 03 Nov 2026 10:51:17 +0100 Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4a214c5c4c0so35078295e9.3 for ; Tue, 03 Nov 2026 01:51:17 -0800 (PST) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4b2a555e59dsm49728195e9.0.2026.11.03.01.51.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 03 Nov 2026 01:51:16 -0800 (PST) X-Outflank-Mailman: Message body and most headers restored to incoming version 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" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1793699477; x=1794304277; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=CxZOvHrfLcUpgm8GUFz5tIPN2W3obHHozpp1et7VvfA=; b=BPXZUEu2SSxz/T5H0apoAhPxlB6yHPHmDlqz95nDymsNKV9ftiG9I2hACk38wvYX85 pYAPrCnHtaYX0XK7WdbzWQyJSaqHfYsbbHwuzBjn7s+EXDgWTOv9rrr+lcFypLmbC7Lt 1lzTfSFiOdn9QJmrs2FzyJGHOP+UCrGrkm2G/yLwO1pX4NHsdpRctX1XDa6Pcdk74dd3 7WnJSSQCEQ1NX3yQ0MUVjQWPPqaT6tYdMrpQgfWAUIQQ7rxvwge++dkDE/nS/y6emMuf 9j+Tt8KzW9sVWU3YuIhLPHpTMcKfSM34CKriCR3HXB+m2Y2S0oQJUGpELVBxRNJ4eZ96 4mGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793699477; x=1794304277; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=CxZOvHrfLcUpgm8GUFz5tIPN2W3obHHozpp1et7VvfA=; b=KuzTVJGTgDnhv5+QWlGLF3XhhnGWnpJiErvnIrJLjaTj2SwHif52X1HzrbaxfZPkVE G2wF6YewU6XotPEX586snIK1BWe/Rz5EitWzWYF3kxGNbhJZt65UfRBuHXZhhN+rOs4B 7p5lfO2efnzrH1HYRYwOqywvanhzl/m5ZPEW2d/CJVfXSQCvzop5Qflre9t0pdCnlDE5 NPrAIpwUsHXUOw/SKG7fDki4SIcRDu1wmXuRRR+wbqo/ZoCOMmUrbN+G8xpPhWuInsS3 6eMwhlRxn1RjHjghgWZ1ilwI7rMY5Fz3EhG0WNTv5RKaFNHOWQHiBQ6jnvQWrlX6YgLR 17nw== X-Gm-Message-State: APuU4Z8ncc5k1hWCSgh1RHjzdrAOWV9Rct82ZTRKq1jgTAUTmGgCPp7v njPvj+zn89BMY1HgsT7pIA0BBmlPkx5JjZ2zExE4iNQGAm+9OAdfveBoy7atrf4VKuhFXQw8JjI JPTB1nw== X-Gm-Gg: AYBFou1nSftfUPUWwTY5LfmzMx3e083J25ZrAmbCMvU/IOW6kFWf9r6CP14tZjxzz3d BVY/L486plRlUyADaotk575sUe07DnlIAIfUZiM/4VcAvhhGcxNnSkOLYcVXWZXiiKm/f1Qk/4U zpPAesdgTghv+32QCvwAIzdtXG11GLBTkt3/z6MUFRF+aj22h6D47/MGDf5BhelaBOdBpO0YCk7 b78U6rl0zWvaVrOjVoM76E2eAk3lWN7qppoDOmSyQfzxugKYzPu/pZZpUZy2WLW9xxy2fZla6AJ m1QgG4ZXMgTL5uj0N6ceh3leTdSUSA8omZwCw0POWj2QKPyRKZ34XwtUYyH5TLJYyrwX9KOKGRZ DbaIfn4WtMZJDilCjbD+EaHo8O0+018NaQEoZTB+eJsbuf/bzB+Ipks+KGG7MK9cczQsz+xcCH2 YhBNlJM5AfYGAlvGy10BRzl/rSWHjvotleWR5/qLBIgoo/XzCO4oBsrxILc+CEDllzIbTs3WYxi F12esM88hW3p3+rGR/qegddu2utxTt1Cpf1vjy/3jafX05/KpZ8VV/+rIFB+mgG1dvZ+s+0ThEr B88WzH68HWaME01yTeLZFW7UYMCD2BZ4SnA7LR1sjfEio+kgvl69pw+JBUnas0Xu+o27OFjzr+G PnkM7dQzTlD4hp8Q= X-Received: by 2002:a05:600c:6208:b0:4a2:397:73fd with SMTP id 5b1f17b1804b1-4ac182dc32cmr288603955e9.12.1793699476975; Tue, 03 Nov 2026 01:51:16 -0800 (PST) Message-ID: <013f0876-9911-4ec0-9c66-4f271b0415a7@suse.com> Date: Tue, 3 Nov 2026 10:51:15 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 1/2] x86/MCE: reduce number of MSR reads/lookups From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Teddy Astie , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= , Peter Deggendorfer References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-4011c0/1793699477-5A5DBCFC-38D6BDAE/10/78276251493 X-purgate-type: spam X-purgate-size: 4702 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1793699493542158500 Content-Type: text/plain; charset="utf-8" MSRs mcheck_mca_logout() already reads don't need re-reading by functions it calls, even less so when it calls them exclusively. Seeing reports like [1], this also makes sure that what we use internally also is propagated to the MCE log. While touching function signatures, also switch bank number parameters to unsigned int. [1] https://lists.xen.org/archives/html/xen-devel/2026-10/msg01825.html Signed-off-by: Jan Beulich --- mcheck_cmn_handler()'s read of MSR_IA32_MCG_STATUS could likely also be dropped, by having mcheck_mca_logout() provide the value it read. --- a/xen/arch/x86/cpu/mcheck/mce.c +++ b/xen/arch/x86/cpu/mcheck/mce.c @@ -138,12 +138,8 @@ void mcabanks_free(struct mca_banks *ban xfree(banks); } =20 -static void mcabank_clear(int banknum) +static void mcabank_clear(unsigned int banknum, uint64_t status) { - uint64_t status; - - status =3D mca_rdmsr(MSR_IA32_MCx_STATUS(banknum)); - if ( status & MCi_STATUS_ADDRV ) mca_wrmsr(MSR_IA32_MCx_ADDR(banknum), 0x0ULL); if ( status & MCi_STATUS_MISCV ) @@ -165,7 +161,8 @@ const struct mca_error_handler *__read_m unsigned int __read_mostly mce_dhandler_num; unsigned int __read_mostly mce_uhandler_num; =20 -static void mca_init_bank(enum mca_source who, struct mc_info *mi, int ban= k) +static void mca_init_bank(enum mca_source who, struct mc_info *mi, + unsigned int bank, uint64_t status) { struct mcinfo_bank *mib; =20 @@ -179,20 +176,20 @@ static void mca_init_bank(enum mca_sourc return; } =20 - mib->mc_status =3D mca_rdmsr(MSR_IA32_MCx_STATUS(bank)); + mib->mc_status =3D status; =20 mib->mc_bank =3D bank; mib->mc_domid =3D DOMID_INVALID; =20 - if ( mib->mc_status & MCi_STATUS_MISCV ) + if ( status & MCi_STATUS_MISCV ) mib->mc_misc =3D mca_rdmsr(MSR_IA32_MCx_MISC(bank)); =20 - if ( mib->mc_status & MCi_STATUS_ADDRV ) + if ( status & MCi_STATUS_ADDRV ) mib->mc_addr =3D mca_rdmsr(MSR_IA32_MCx_ADDR(bank)); =20 - if ( (mib->mc_status & MCi_STATUS_MISCV) && - (mib->mc_status & MCi_STATUS_ADDRV) && - alternative_call(mce_callbacks.check_addr, mib->mc_status, + if ( (status & MCi_STATUS_MISCV) && + (status & MCi_STATUS_ADDRV) && + alternative_call(mce_callbacks.check_addr, status, mib->mc_misc, MC_ADDR_PHYSICAL) && (who =3D=3D MCA_POLLER || who =3D=3D MCA_CMCI_HANDLER) && (mfn_valid(_mfn(paddr_to_pfn(mib->mc_addr)))) ) @@ -211,14 +208,13 @@ static void mca_init_bank(enum mca_sourc } } =20 -static int mca_init_global(uint32_t flags, struct mcinfo_global *mig) +static int mca_init_global(uint32_t flags, struct mcinfo_global *mig, + uint64_t status) { - uint64_t status; int cpu_nr; const struct vcpu *curr =3D current; =20 /* Set global information */ - status =3D mca_rdmsr(MSR_IA32_MCG_STATUS); mig->mc_gstatus =3D status; mig->mc_domid =3D DOMID_INVALID; mig->mc_vcpuid =3D XEN_MC_VCPUID_INVALID; @@ -331,7 +327,7 @@ mcheck_mca_logout(enum mca_source who, s mig =3D x86_mcinfo_reserve(mci, sizeof(*mig), MC_TYPE_GLOB= AL); /* mc_info should at least hold up the global information = */ ASSERT(mig); - mca_init_global(mc_flags, mig); + mca_init_global(mc_flags, mig, gstatus); /* A hook here to get global extended msrs */ if ( IS_ENABLED(CONFIG_INTEL) && boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL ) @@ -351,7 +347,7 @@ mcheck_mca_logout(enum mca_source who, s /* uc =3D true, recover =3D true, we need not panic. */ recover =3D alternative_call(mce_callbacks.recoverable_scan, s= tatus); =20 - mca_init_bank(who, mci, i); + mca_init_bank(who, mci, i, status); =20 if ( mce_callbacks.info_collect ) alternative_vcall(mce_callbacks.info_collect, mci, i, status); @@ -359,7 +355,7 @@ mcheck_mca_logout(enum mca_source who, s /* By default, need_clear =3D true */ if ( who !=3D MCA_MCE_SCAN && need_clear ) /* Clear bank */ - mcabank_clear(i); + mcabank_clear(i, status); else if ( who =3D=3D MCA_MCE_SCAN && need_clear ) mcabanks_set(i, clear_bank); } @@ -548,7 +544,7 @@ void mcheck_mca_clearbanks(struct mca_ba { if ( !mcabanks_test(i, bankmask) ) continue; - mcabank_clear(i); + mcabank_clear(i, mca_rdmsr(MSR_IA32_MCx_STATUS(i))); } } From nobody Thu Nov 5 07:28:14 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1793699516; cv=none; d=zohomail.com; s=zohoarc; b=On3No/247U99KPUHhS7LC/q+rW4QN11xIHnRLubIb2rNQu1TWHl94kFZOrLKztOPZSIaLpYMpL5VvWsM4RYKCFux7RBdD6Z4qtwGzTdPn3x9svYXTBhmtEK9Gtki1NcEEyWDC0CUOzIijKSbFSJ6KsDQJ0KPm8sJe0twFq9hRKI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1793699516; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=yu7a2ic57pWEnD4j7Nht+DNuD+UcR5F9Ux8mUAVGlO8=; b=Km0dgnenGmXXPaBu6/Xl+4IXvE8Ld9znfKIbKeU28Vl+q6cqRbHSw47AFihyvWg5jkvpysE2N+axNnclascbqDrjBKhDGu1BPtnZSNdfCiGmqYfAOa+h/2rIERvKVmqVgnu1M+7JPgdXqGdcvOrZ8eEW+KC5wgS9RA82kgn5o+4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1793699516982157.06284304035717; Tue, 3 Nov 2026 01:51:56 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1469377.1678212 (Exim 4.92) (envelope-from ) id 1xOBB6-0002US-EG; Tue, 03 Nov 2026 09:51:40 +0000 Received: by outflank-mailman (output) from mailman id 1469377.1678212; Tue, 03 Nov 2026 09:51:40 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1xOBB6-0002UL-BL; Tue, 03 Nov 2026 09:51:40 +0000 Received: by outflank-mailman (input) for mailman id 1469377; Tue, 03 Nov 2026 09:51:38 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) id 1xOBB4-0002Tp-Ks for xen-devel@lists.xenproject.org; Tue, 03 Nov 2026 09:51:38 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1xOBB4-002ABI-1G for xen-devel@lists.xenproject.org; Tue, 03 Nov 2026 10:51:38 +0100 Received: from [10.42.69.5] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6ae9aea5-e002-0a2a0a5209dd-0a2a4505dd3a-22 for ; Tue, 03 Nov 2026 10:51:37 +0100 Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com) by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6ae9aea9-4cb1-0a2a45050019-d155802cec7d-3 for ; Tue, 03 Nov 2026 10:51:37 +0100 Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4a2d6d01ecbso24921175e9.0 for ; Tue, 03 Nov 2026 01:51:37 -0800 (PST) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48e71a4d5dfsm27963445f8f.3.2026.11.03.01.51.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 03 Nov 2026 01:51:37 -0800 (PST) X-Outflank-Mailman: Message body and most headers restored to incoming version 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" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1793699497; x=1794304297; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=yu7a2ic57pWEnD4j7Nht+DNuD+UcR5F9Ux8mUAVGlO8=; b=D+UwLRUQISBx0Vw2Iy5JqStmzSFrEuS9ItGQlMksz9enZw5XqB+YUwYyfdBKySTTgo EkjRduHsaU+6qj7N1ZCEU2stWfjXV+ScaFln7Khy56SZS8CDrgC/FpRkZem0h8rIADeZ RzvrgTLyc6jE6auI7Miq25vtjCu7IGRG2wNZVnLgDmogj/37ZSxEDIPyEJwbuUO5re+u MHkiSj72nJPEGB0jlYeEipxoHeVylLNtuaRFXcqoC1TgH8cMvW6Ke4lOrBSOqnBeZLVa evJU0JPp73cRd72LSyT4FgMnB2CJ0PZ1n6mlf15+Xg1OWf7NtF3eSCy2iL9A58bcOO19 avUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793699497; x=1794304297; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=yu7a2ic57pWEnD4j7Nht+DNuD+UcR5F9Ux8mUAVGlO8=; b=Fw1JEndYhEn86cWyI0jTBW8dFRqImoItiqwc2EL3IrRD4tPEe2y9zIZTbgWvQAI9bf 1ur4GMP2iToNKQHpQwlGYNDcwk7fjD7BKy+3Xt08SuhQnrfk6C+7qWqUmHxzOaqnhquE ZHbCFvidQ/WLXoEiC2naai0K/aBr9eCPFPZeH1tDaJWjlbvwn+sZwT1hHD57t/EWPlh+ fpUss6aLyfW5JlpGRZFUuhNe9RGVfJBsSjqng/b5tt9gV8pKdcmvkzCGXqFmh8W0NIV+ lzqeyiJCwqbVbkWhwlpXHp/rpfKv4lmVEOavamdyy2NlR2lq3c40QDXVudX51Oq3Ui0a qQxA== X-Gm-Message-State: APuU4Z/vTuuaUF8wEnKEP3a2cb+ymIRKuKbco5tgoGauvyqKchV16hHz cUPfpLSagKzIJmazso8/Am4wpY5/rvCdOgYv47K95Z1qj5p2Qyqb3GoFfG5chtOpK/2gPCaYn46 BVkGEjA== X-Gm-Gg: AYBFou1238g2VFZ00LzDXoRqgQ3iV7ys09uD5VwnBc4rxNJ7MtlnAjcsDpd/y9TW3G8 HYrHGlsBLcg2QeqG8UI+reilm9C+hnuIbp8YVL1VGTyu8cGmp1VF8wJnVcGh0QBxS+qQ+ty+3xd fFDrd/u+xwlGSo4pU9pcf4nJXFp1UhUJhKNCJGqVHYh794/tbz5c5u2PxXUoozob0lQv86gh9ln QsHQvoC7TQjgOet34d4AWSsVr+4o/POacQv6vFC2N2gVAZ4FACLaWXY/rPhVXGviYphn4Fk6Sqa NF43ulWmwiU0KQ5TXoPjjT5XUrohvRP8UVka0NV1b9PWxL5n5YgDfNPZIDUNiJgb3LrFwDIsZ8D OuTQiv3bvhzURmG/nC0r0cdTNutJRnxOFyBu5fn2VouKTx2uU+uw/oQ02nBJQU49x1qUjt28i2T xeOtHozHMhqqTBSaJ0e++vK/WScdKal8dekbIgAWJ4DVyFA1h3ItTAiCTLhkmgsbkeZyRugkn4s bKZ9cx12KiXbC72JOHhFw1VmjeXCrTsANKzQpq9Qs7zp7NrhiVNF7SacXSKrPK4mswfxAv2znrw Eks2EN6yTSRwWowSt539hHVc5i/s4A5JJPGhxbHv1vJKBgeo1b/vxquu860x5oAfLV52p2PfFM8 Vh8cDWuJr/21mHkNt X-Received: by 2002:a05:600c:3b09:b0:4b1:4017:c4f4 with SMTP id 5b1f17b1804b1-4b14017c507mr108160975e9.20.1793699497335; Tue, 03 Nov 2026 01:51:37 -0800 (PST) Message-ID: <4f8681a3-b35c-4c97-a731-a58e3eaa8770@suse.com> Date: Tue, 3 Nov 2026 10:51:36 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 2/2] x86/MCE: drop redundant code from mcheck_mca_logout() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Teddy Astie , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-c201ff/1793699497-F429B2A1-7173858D/10/78276251493 X-purgate-type: spam X-purgate-size: 1145 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1793699518053158500 Content-Type: text/plain; charset="utf-8" Pull out the shared part of a two-way conditional, and use plain "else" for the remaining latter half. Signed-off-by: Jan Beulich --- To my surprise this does change (shrink) generated code (with gcc16; albeit maybe there would be no difference in release [-O2] builds). This looks to be a result of the compiler pulling the calculations out of the loop, for being loop-invariant. --- a/xen/arch/x86/cpu/mcheck/mce.c +++ b/xen/arch/x86/cpu/mcheck/mce.c @@ -353,11 +353,13 @@ mcheck_mca_logout(enum mca_source who, s alternative_vcall(mce_callbacks.info_collect, mci, i, status); =20 /* By default, need_clear =3D true */ - if ( who !=3D MCA_MCE_SCAN && need_clear ) - /* Clear bank */ - mcabank_clear(i, status); - else if ( who =3D=3D MCA_MCE_SCAN && need_clear ) - mcabanks_set(i, clear_bank); + if ( need_clear ) + { + if ( who !=3D MCA_MCE_SCAN ) + mcabank_clear(i, status); + else + mcabanks_set(i, clear_bank); + } } =20 if ( mig && errcnt > 0 )