From nobody Fri Oct 31 09:41:28 2025 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=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1747988566; cv=none; d=zohomail.com; s=zohoarc; b=e2JQ8CobxOza85HtoI1BTg3orEJ3d0DLEUoQynMXk81VCXV3aargIVVEcMgKXMMyRBeu8ONmm7oAw2Iwzg0dFqMQGR506d3mgD315f2fe4B9wAgpXnZlSOhCnBUjL4xkdfjnv5rzFe6afQ1apoLcvGcdtNab6YM7xMg+ShOPjQw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1747988566; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=GB5SoZGsyV9907UeSThTMXgLvSHWtuKbvETz0zUwdfc=; b=fgzqg0iwS3oR0WghB+uidoVkm+/VhXjSkztl73247Q+i8oPrtgvmG+7RIoWP2COjeENlF5ObgQtpAtzhb1pgzJL2AJmdzWA+kvnjD5S1IPny6Fc7Ys0q4OLF2NjYkDLiLzvamUiBA1uW2Vfa31bJYGLFD0R/nUpHg2E0AuaCmCo= 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=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1747988566274234.2682543257306; Fri, 23 May 2025 01:22:46 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.995382.1377855 (Exim 4.92) (envelope-from ) id 1uINfi-0003u3-Gg; Fri, 23 May 2025 08:22:30 +0000 Received: by outflank-mailman (output) from mailman id 995382.1377855; Fri, 23 May 2025 08:22:30 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uINfi-0003tq-DC; Fri, 23 May 2025 08:22:30 +0000 Received: by outflank-mailman (input) for mailman id 995382; Fri, 23 May 2025 08:22:28 +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 1uINfg-0003rz-MR for xen-devel@lists.xenproject.org; Fri, 23 May 2025 08:22:28 +0000 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [2a00:1450:4864:20::431]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 0d846f84-37af-11f0-b892-0df219b8e170; Fri, 23 May 2025 10:22:23 +0200 (CEST) Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a366843fa6so4070795f8f.1 for ; Fri, 23 May 2025 01:22:23 -0700 (PDT) Received: from localhost (112.pool92-178-7.dynamic.orange.es. [92.178.7.112]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-447f1825457sm137419755e9.1.2025.05.23.01.22.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 May 2025 01:22:22 -0700 (PDT) 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" X-Inumbo-ID: 0d846f84-37af-11f0-b892-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=google; t=1747988543; x=1748593343; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GB5SoZGsyV9907UeSThTMXgLvSHWtuKbvETz0zUwdfc=; b=A14LvtI7DpPJJ60x2Ko40ABXp1hR0AVwigsqyAFNQh0u8iwam6En6EJMfiP9rraYXO 5x4SKfX10CdJhZNGrQjpcPYt4NtcdQkLtP2WWfMomrpeA3QXzEwKkCZeB4F1tx+saHQC PVC9Mp52p6RausvSEPvjIBORjiGupRE744HHM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747988543; x=1748593343; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GB5SoZGsyV9907UeSThTMXgLvSHWtuKbvETz0zUwdfc=; b=jZYtxJ0zZoPLTY1+CJdi3WGCdbN+KnsM/8TFA8ecxLNR7lAwYXoYRGVwu+KLT7/Wkg cCQ3cy+EHuLYN/8kfvgJE0Hwh/vuxH83Si1/VXzN7BzNHyV49AghW5X2fqH3CbqQdICY Zfr3JMrfBLopd08zjfHf7ynS7XBpK31PR6fMKYSfZnU/DBmsm5uUS35KtXTHY4LcJhZV gXzWvmlvHwMj95jZzZHwZWCeGJsRU+ysmvmx0NHJECa5jtx5Q1RzTICS8akefWStBQaa 69DYv8x714IzsIj78pGWSjhStWdEH2qGyJofxw/ZyBQYPLBMue/3BwGqGa3o+vbBZ5Nn HBjA== X-Gm-Message-State: AOJu0Yx2yyZZRzFoQvUARXk8T0w+jVOfRmDbK6LbD+pn1IqrYJwA+3cc w3gLVKkBcqg9w5R5RlBkeHdN+ny/+cf2/pjfVI+4DPsv1K0XOX5zglC1cihWWkDbub+w8k4k463 Itkxu X-Gm-Gg: ASbGnctnrDxkUh/cFqW+VrxsRJRTj51FEl05M6pUfXXj1Wv7ygBMYpBg+mB/YovhYFW wGvqDt2Z93kGJhevhqWs0HX3R3Zv7CBWpDFqL9eushh62+0a+vZV5jlbL2frhb/b/j1IXOJvBmm N9Q5Jexbvcpnih+tFI5MkfwHv1gsSqCvCMasarne9HCaY//dHOqjwiw0hFMV478NSlAoDMOKq/+ cBDRXYbtbaWPqU7ouNF3j5Lz8kxtXAFGXlNA4VbhPVqKrakHCzZS/FHoeODNc9z9LZDrJd44QRV wUyGLusAPH1Hn7OwtC8LSqBpt4zUffUTgAQWAnjmNx+cJdNOeNAk5fLDrS/Agz5dE05QW5ycvFF smiF3kt6vM6dV7uvomD1xftljg2gV6A== X-Google-Smtp-Source: AGHT+IHZldEWad0nbpScWJrwcpZvfgjnSRtHv53NQ5qCJ1OYi5pr2d/nl8GnYpFZRAEmYzDiB3J/lQ== X-Received: by 2002:a5d:5f46:0:b0:3a0:b816:5a44 with SMTP id ffacd0b85a97d-3a35fe964dcmr25515836f8f.35.1747988542734; Fri, 23 May 2025 01:22:22 -0700 (PDT) From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Roger Pau Monne , Jan Beulich , Andrew Cooper Subject: [PATCH v3 1/3] x86/boot: print CPU and APIC ID in bring up failure Date: Fri, 23 May 2025 10:21:33 +0200 Message-ID: <20250523082135.18088-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250523082135.18088-1-roger.pau@citrix.com> References: <20250523082135.18088-1-roger.pau@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1747988568303116600 Print the CPU and APIC ID that fails to respond to the init sequence, or that didn't manage to reach the "callin" state. Expand a bit the printed error messages. Otherwise the "Not responding." message is not easy to understand by users. Reported-by: Andrew Cooper Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Andrew Cooper --- Changes since v2: - Adjust format string. Changes since v1: - Also print APIC ID. --- xen/arch/x86/smpboot.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index 0189d6c332a4..b5dcc77bd574 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -618,10 +618,12 @@ static int do_boot_cpu(int apicid, int cpu) smp_mb(); if ( bootsym(trampoline_cpu_started) =3D=3D 0xA5 ) /* trampoline started but...? */ - printk("Stuck ??\n"); + printk("APIC ID %#x (CPU%u) didn't finish start sequence\n= ", + apicid, cpu); else /* trampoline code not run */ - printk("Not responding.\n"); + printk("APIC ID %#x (CPU%u) didn't respond to SIPI\n", + apicid, cpu); } } =20 --=20 2.49.0 From nobody Fri Oct 31 09:41:28 2025 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=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1747988573; cv=none; d=zohomail.com; s=zohoarc; b=OyexTYdhh+z0R97fRmQyGh9EjgEpePgPKqTei1Mq8T5eLyWtCkjMfvwbizjQsubWxHxBHUA7qh8XJXbq2Dq9rIm17HKp3wsXL8PUZLeeKJYpoJQFwdhCc+uvfLddPgR0OCQClZbAYkmXiTWlXQHAgS13+u5fu403UPatLrnbo/Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1747988573; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=b9OhwSh2sFBPinPT7yDdzAD3rTaDbrlVbBuLtIBte3k=; b=XJu1NxSJf5D6u4G0aZH6aB9DFZ/zZOC3OsgCaEQdjWPlNx6MxmTJhgAsRSpAMqtec/DT0DnnzVRfzykl6p6OrsSXkOtSCtV0cX8kd0VNa3MDuu/vVvWJ7bw6gnfsxU35DyeK/IgiZMBqwVfx7N+b9qriBEZY/zo0Xna8PCI8GAM= 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=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1747988573745652.679532783226; Fri, 23 May 2025 01:22:53 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.995380.1377830 (Exim 4.92) (envelope-from ) id 1uINfd-0003FD-Ts; Fri, 23 May 2025 08:22:25 +0000 Received: by outflank-mailman (output) from mailman id 995380.1377830; Fri, 23 May 2025 08:22:25 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uINfd-0003EU-P3; Fri, 23 May 2025 08:22:25 +0000 Received: by outflank-mailman (input) for mailman id 995380; Fri, 23 May 2025 08:22:25 +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 1uINfd-0003CJ-3G for xen-devel@lists.xenproject.org; Fri, 23 May 2025 08:22:25 +0000 Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [2a00:1450:4864:20::32e]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 0e303ee5-37af-11f0-a2fb-13f23c93f187; Fri, 23 May 2025 10:22:24 +0200 (CEST) Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-43cfebc343dso68743475e9.2 for ; Fri, 23 May 2025 01:22:24 -0700 (PDT) Received: from localhost (112.pool92-178-7.dynamic.orange.es. [92.178.7.112]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-447f3dd99f9sm131732165e9.40.2025.05.23.01.22.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 May 2025 01:22:23 -0700 (PDT) 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" X-Inumbo-ID: 0e303ee5-37af-11f0-a2fb-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=google; t=1747988544; x=1748593344; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=b9OhwSh2sFBPinPT7yDdzAD3rTaDbrlVbBuLtIBte3k=; b=ceLdLcdf1ycaNA83FNfFso/brLkJPC71VSciLYuaDbdF8FNap5lfx8uxk2ikgjeU84 N3JydetGlK8O5KLxznxVBtm0VdTG23LNkwY60Pz/lZDbSf3qpSKJWtnpdYKUw8SGZxJt 9h+lmborOXtB2JqGSuoSoN+wNlYCGx4FzEfo0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747988544; x=1748593344; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=b9OhwSh2sFBPinPT7yDdzAD3rTaDbrlVbBuLtIBte3k=; b=nqIuMwWo2J/r4q6r1HINXwLn8/GKNcWc+40tPxSy8o/PicP5U6AfEoGgejidEvtwtM y8Fyt/9zE+ziWEQsQRtPO91qveGzmUYpWjq0ACLJLd/jyKqjRIQkHCfM3slJCeodzgsF 8nm6J/idKnerdOe113UCF0b/fCfHqaqbxQmRxqHgWSi/3VvTJDTO8YYL6/xHFpvP6vIH P8hAiHGgNEYKmv66tgOS/tDlnS0y3friX2KqF29YFf0w5Ev4TL+DWep1iKgLnZ2MYTuY hRTgJAHN7kuLc4UX9LbTvnpgCP1dEMCKVhWoUffoGS1rCkKjGl7kh/EoBM/sL+hXrpRD ALnA== X-Gm-Message-State: AOJu0Yz4Y8Nv5/4yc6Fo6/gc1mgjXdvrZbHfxI3qn66kVofywSHVjE+Z MZuybqdwR4j4P0aiExqAZZcxuvau77F/u13a0MxFho6FYhXWVQJLHdOJMZft9xz9EqUG3gZlGBX 4xA/p X-Gm-Gg: ASbGncvi0sQ+JzfXhg2sul2svTtYZdk1U4+aFQWYHN4oafBXOZvMZkU2vGtmrb8XsHw 5EIx8O4mY1hIgSE913ujLBaDvCtQVdla8AxDRHtEoz1AcvhVazw6cc2MML6WxnaXSJDWC/UpsSx MxHpskf0L21x3t/9gJrfTP7wLN/fB5SDTS7AZ6rSmRLVfmDCYlBvsbzRTRptbaa5MfJYUYEPFFw 1ssPSvfr6TUQz4BQTyUJ7CpoaUIgBESt9KGRWz6fPf6DRzCKcf7k02pDJUXz9M6mFmfvEpIeoUT iEcebj/01MNMRrOUJ6g6C2PndnShlZzjGCDLNPKglmrAV8i58A9qpnVz9r8Lz9vTUbTNOfF0aDJ djIa09Ned3d7zRP4kpu8= X-Google-Smtp-Source: AGHT+IENE8YAu5CgQBp8ad8E9VUooRZ67jjAeumiY9NWwvm4KNgrBaatHEO+EhUp5AHbWMiYfXkIsg== X-Received: by 2002:a05:600c:a378:b0:442:f482:c432 with SMTP id 5b1f17b1804b1-442fd64e32amr260346245e9.18.1747988543765; Fri, 23 May 2025 01:22:23 -0700 (PDT) From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Roger Pau Monne , Jan Beulich , Andrew Cooper Subject: [PATCH v3 2/3] x86/traps: split code to dump execution state to a separate helper Date: Fri, 23 May 2025 10:21:34 +0200 Message-ID: <20250523082135.18088-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250523082135.18088-1-roger.pau@citrix.com> References: <20250523082135.18088-1-roger.pau@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1747988574086116600 Split the code that triggers remote CPUs to dump stacks into a separate function. Also introduce a parameter that can be set by the caller of the newly introduced function to force CPUs to dump the full stack, rather than just dumping the current function name. No functional change intended. Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Andrew Cooper --- Changes since v2: - Use parameter opt_show_all variable. --- xen/arch/x86/include/asm/processor.h | 1 + xen/arch/x86/traps.c | 63 ++++++++++++++++++---------- 2 files changed, 41 insertions(+), 23 deletions(-) diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/as= m/processor.h index eacd425c5350..10d8078cc1ca 100644 --- a/xen/arch/x86/include/asm/processor.h +++ b/xen/arch/x86/include/asm/processor.h @@ -371,6 +371,7 @@ void show_registers(const struct cpu_user_regs *regs); #define dump_execution_state() run_in_exception_handler(show_execution_sta= te) void show_page_walk(unsigned long addr); void noreturn fatal_trap(const struct cpu_user_regs *regs, bool show_remot= e); +void show_execution_state_nmi(const cpumask_t *mask, bool show_all); =20 extern void mtrr_ap_init(void); extern void mtrr_bp_init(void); diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 22f20629327d..559bb1d2029b 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -734,6 +734,43 @@ static int cf_check nmi_show_execution_state( return 1; } =20 +void show_execution_state_nmi(const cpumask_t *mask, bool show_all) +{ + unsigned int msecs, pending; + + /* + * Overwrite the global variable, caller is expected to panic after ha= ving + * dumped the execution state. + */ + if ( show_all ) + opt_show_all =3D true; + + watchdog_disable(); + console_start_sync(); + + cpumask_copy(&show_state_mask, mask); + set_nmi_callback(nmi_show_execution_state); + send_IPI_mask(mask, APIC_DM_NMI); + + /* Wait at most 10ms for some other CPU to respond. */ + msecs =3D 10; + pending =3D cpumask_weight(&show_state_mask); + while ( pending && msecs-- ) + { + unsigned int left; + + mdelay(1); + left =3D cpumask_weight(&show_state_mask); + if ( left < pending ) + { + pending =3D left; + msecs =3D 10; + } + } + if ( pending ) + printk("Non-responding CPUs: {%*pbl}\n", CPUMASK_PR(&show_state_ma= sk)); +} + const char *vector_name(unsigned int vec) { static const char names[][4] =3D { @@ -780,31 +817,11 @@ void fatal_trap(const struct cpu_user_regs *regs, boo= l show_remote) =20 if ( show_remote ) { - unsigned int msecs, pending; + cpumask_t *scratch =3D this_cpu(scratch_cpumask); =20 - cpumask_andnot(&show_state_mask, &cpu_online_map, + cpumask_andnot(scratch, &cpu_online_map, cpumask_of(smp_processor_id())); - set_nmi_callback(nmi_show_execution_state); - smp_send_nmi_allbutself(); - - /* Wait at most 10ms for some other CPU to respond. */ - msecs =3D 10; - pending =3D cpumask_weight(&show_state_mask); - while ( pending && msecs-- ) - { - unsigned int left; - - mdelay(1); - left =3D cpumask_weight(&show_state_mask); - if ( left < pending ) - { - pending =3D left; - msecs =3D 10; - } - } - if ( pending ) - printk("Non-responding CPUs: {%*pbl}\n", - CPUMASK_PR(&show_state_mask)); + show_execution_state_nmi(scratch, false); } } =20 --=20 2.49.0 From nobody Fri Oct 31 09:41:28 2025 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=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1747988570; cv=none; d=zohomail.com; s=zohoarc; b=TnXasIWSLKtjp/K3hWiQhk/QSIpfole4DFlCy/Jx8haE21tA+QD6EPzn/iMXxjl5nriniv47qPLNTg0IbzPhKLPr8E/8rhtXQH4IoP16sSJQC2fze6JXh2zH+5AdQPxpx/f7uZaiEI5NAiOMCtf3+/TwL7OWezHNjwvUxSnYWss= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1747988570; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=fraFe1zTdvy9EaNNK6KT5rkWZR7WnEeg3OgF6ED/J8A=; b=haYEaf2q65pSKS4sNEL8qikLBQWSHyoRYh/05QP1pYzPnOcxdnzkIK4CbQ1htoLbYR7Zxq1Xl78ra6sVIwHC7AkfUoX8VRITyL8aXGuzE4Ar8eZvBqwaOL9kTcKDVLQDVMRZhBP8VKID6avXyJ/I0nC0zC9FmzfBRKsQCVOlInE= 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=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1747988570096497.12669007949887; Fri, 23 May 2025 01:22:50 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.995381.1377845 (Exim 4.92) (envelope-from ) id 1uINff-0003dp-5A; Fri, 23 May 2025 08:22:27 +0000 Received: by outflank-mailman (output) from mailman id 995381.1377845; Fri, 23 May 2025 08:22:27 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uINff-0003dg-1z; Fri, 23 May 2025 08:22:27 +0000 Received: by outflank-mailman (input) for mailman id 995381; Fri, 23 May 2025 08:22:26 +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 1uINfe-0003CJ-78 for xen-devel@lists.xenproject.org; Fri, 23 May 2025 08:22:26 +0000 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [2a00:1450:4864:20::32a]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 0eda90b5-37af-11f0-a2fb-13f23c93f187; Fri, 23 May 2025 10:22:25 +0200 (CEST) Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-442ea341570so62115555e9.1 for ; Fri, 23 May 2025 01:22:25 -0700 (PDT) Received: from localhost (112.pool92-178-7.dynamic.orange.es. [92.178.7.112]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a35ca8896dsm25534645f8f.73.2025.05.23.01.22.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 May 2025 01:22:24 -0700 (PDT) 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" X-Inumbo-ID: 0eda90b5-37af-11f0-a2fb-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=google; t=1747988545; x=1748593345; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fraFe1zTdvy9EaNNK6KT5rkWZR7WnEeg3OgF6ED/J8A=; b=tAlPw8zE58fW71aIXqxN9JWSUeKDQs5p92lgHf2NjeRY8myT519JDlujT8uxYLy1Mu G/uevgehutcJLYVdM0g6vXZnIwEwOBeFTPtZuOmyqaIagIbErUxWfMJAxaF9BsweS+sP uSmxmqgthSLpcL5+Ktn4fpJo2IboLCVYQ88Jc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747988545; x=1748593345; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fraFe1zTdvy9EaNNK6KT5rkWZR7WnEeg3OgF6ED/J8A=; b=A/u1jPmN8EiTP8PonTBnFj0AEldB52u7DLPciCvhFLoockALwq2Ozb7/I5LNZ1M1Lo lmlOz+uVXywj7v8U+aiXfhibb+51q8bld2s/37LthAYwHEm4POhXztyyteyf1Yq50FFV TP7NUYFd/qF5FmBu61IAxW1idcLOQh+97M3dzy23t+AQiZDeP0N6/afZSe3BEuGwz257 buQqgYF8SSKzP+yiVXtmqPc3F8YdWeYhdmYWsezx0JUMRzbzw3hGzkt1dcLZ0d3LrF61 tX/5r9H+MibekP0vdvl1JkAQ+NFBjY6gP/d8IkAORmMMt7qqAFR/TKSnCDtZSwv+voAi T9dQ== X-Gm-Message-State: AOJu0Yw3pjXjHMrEyRqTau5EWoYlI9ADJGNkX8nTKg1pDNMFokPZIY/r 71ekxD/X4+Ug0ZiP9PaW1WPVJghvjzjFexUx5t8VvDmj4VARa3RewHOY5Ea/lPJG7epRSOJzBgl d26Oj X-Gm-Gg: ASbGnctkBDB1YUKKdYJmUVQ4NuBY6MaChxgGH3Az4uCHrBb2rhk3jQitI/9/J5/hceV VQ1x8Xb5wybAikKIez/iQvs7TpAm7VGbLbmcp5qIbmIUDeRpOwTW3PD7HtQS/BLaVQ9N6I/ru91 vogypB7qX9ZjJQ05ewYHv6n3r6OM+MMNR2tLOxHjYvu/8hxEmz/IJmXRSLg+JeBCayZt5FsLtJt Gim61bF9UGL51zprWU2R3qrrz5ni/QYvrsXV4veTcZ6WO5okUalZLwzz+dhpd9Kh1QpqRQPR0xd sCJVwjxsIYGURvaBjZin89MXCHg3Im3+Wou80luo4gLeKCtN5Kgg516hTNlHFyJycSgdc+7InU0 FCEbBRsSJt5a3G1TWx40= X-Google-Smtp-Source: AGHT+IH8WDpyb6K81BVOvpUEla557CAOvPbAlfr6x81iASyAMoDVtSY94hnMYALKX46FZeaLB0zJcA== X-Received: by 2002:a05:6000:2501:b0:3a3:6d1e:a517 with SMTP id ffacd0b85a97d-3a36d1ea854mr18226804f8f.31.1747988544941; Fri, 23 May 2025 01:22:24 -0700 (PDT) From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Roger Pau Monne , Jan Beulich , Andrew Cooper Subject: [PATCH v3 3/3] x86/boot: attempt to print trace and panic on AP bring up stall Date: Fri, 23 May 2025 10:21:35 +0200 Message-ID: <20250523082135.18088-4-roger.pau@citrix.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250523082135.18088-1-roger.pau@citrix.com> References: <20250523082135.18088-1-roger.pau@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1747988572267116600 With the current AP bring up code, Xen can get stuck indefinitely if an AP freezes during boot after the 'callin' step. Introduce a 5s timeout while waiting for APs to finish startup. On failure of an AP to complete startup, send an NMI to trigger the printing of a stack backtrace on the stuck AP and panic on the BSP. This patch was done while investigating the issue caused by Intel erratum ICX143. It wasn't helpful in that case, but it's still and improvement when debugging AP bring up related issues. Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Andrew Cooper --- Changes since v2: - Adjust panic message to match the similar ones printed for AP start failures. Changes since v1: - Use 5s timeout. - Print APICID. - Split NMI dispatch code movement to a pre-patch. - Reorder timeout check condition. --- xen/arch/x86/smpboot.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index b5dcc77bd574..ac7bfca8b5c8 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -1372,6 +1372,7 @@ int cpu_add(uint32_t apic_id, uint32_t acpi_id, uint3= 2_t pxm) int __cpu_up(unsigned int cpu) { int apicid, ret; + s_time_t start; =20 if ( (apicid =3D x86_cpu_to_apicid[cpu]) =3D=3D BAD_APICID ) return -ENODEV; @@ -1390,10 +1391,18 @@ int __cpu_up(unsigned int cpu) time_latch_stamps(); =20 set_cpu_state(CPU_STATE_ONLINE); + start =3D NOW(); while ( !cpu_online(cpu) ) { cpu_relax(); process_pending_softirqs(); + if ( (NOW() - start) > SECONDS(5) ) + { + /* AP is stuck, send NMI and panic. */ + show_execution_state_nmi(cpumask_of(cpu), true); + panic("APIC ID %#x (CPU%u) stuck while starting up\n", + apicid, cpu); + } } =20 return 0; --=20 2.49.0