From patchwork Fri May 17 18:58:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrew Cooper X-Patchwork-Id: 10948427 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 40C696C5 for ; Fri, 17 May 2019 19:00:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3193527C0B for ; Fri, 17 May 2019 19:00:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 24AFA2842D; Fri, 17 May 2019 19:00:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B932427C0B for ; Fri, 17 May 2019 19:00:22 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hRi4B-0007oa-AW; Fri, 17 May 2019 18:58:51 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hRi49-0007oL-87 for xen-devel@lists.xenproject.org; Fri, 17 May 2019 18:58:49 +0000 X-Inumbo-ID: cd449b03-78d5-11e9-8980-bc764e045a96 Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id cd449b03-78d5-11e9-8980-bc764e045a96; Fri, 17 May 2019 18:58:48 +0000 (UTC) Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=andrew.cooper3@citrix.com; spf=SoftFail smtp.mailfrom=Andrew.Cooper3@citrix.com; spf=None smtp.helo=postmaster@MIAPEX02MSOL02.citrite.net Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of andrew.cooper3@citrix.com) identity=pra; client-ip=23.29.105.83; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="andrew.cooper3@citrix.com"; x-conformance=sidf_compatible Received-SPF: SoftFail (esa4.hc3370-68.iphmx.com: domain of Andrew.Cooper3@citrix.com is inclined to not designate 23.29.105.83 as permitted sender) identity=mailfrom; client-ip=23.29.105.83; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="Andrew.Cooper3@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 include:spf.citrix.com include:spf2.citrix.com include:ironport.citrix.com exists:%{i}._spf.mta.salesforce.com ~all" Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@MIAPEX02MSOL02.citrite.net) identity=helo; client-ip=23.29.105.83; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="postmaster@MIAPEX02MSOL02.citrite.net"; x-conformance=sidf_compatible IronPort-SDR: BkFvctGDsgioZArEuPsMUYGPOJnx3ptqu0twBV7Fy1bgboxEbUsE9NG6yakNvL1/b2xtWsH/yq zzAZg9k+DISox4Iz5IQSwhfSuWaG87NWitil4PaZEZ1lla9dvfyA2Nhyx4nSyKMT7/i5r2bba0 AvfqjbKfc3UoZuhJGhRYScgZjzl2lUfmbVSGzRLSV+C0E40OVq9n/tAxqRN71tIDcXrQ7TmYcH gmCWRwYrXWnDMUMGXzf78BVbrARf8c8BGrZSJWA/req7XIDHuhTTcyR/m8m7dGYqUE+kbLhtX7 BFc= X-SBRS: 2.7 X-MesageID: 593810 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 23.29.105.83 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.60,481,1549947600"; d="scan'208";a="593810" From: Andrew Cooper To: Xen-devel Date: Fri, 17 May 2019 19:58:43 +0100 Message-ID: <1558119524-318-1-git-send-email-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 1/2] xen/lib: Introduce printk_once() and replace some opencoded examples X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Wei Liu , Andrew Cooper , Julien Grall , Jan Beulich , =?utf-8?q?Roger_Pau_Monn=C3=A9?= Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP Reflow the ZynqMP message for grepability, and fix the omission of a newline. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich Reviewed-by: Julien Grall --- CC: Jan Beulich CC: Wei Liu CC: Roger Pau Monné CC: Stefano Stabellini CC: Julien Grall --- xen/arch/arm/cpuerrata.c | 18 ++---------------- xen/arch/arm/platforms/xilinx-zynqmp.c | 9 ++------- xen/include/xen/lib.h | 11 +++++++++++ 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c index 4431b24..8904939 100644 --- a/xen/arch/arm/cpuerrata.c +++ b/xen/arch/arm/cpuerrata.c @@ -336,18 +336,11 @@ static bool has_ssbd_mitigation(const struct arm_cpu_capabilities *entry) switch ( ssbd_state ) { case ARM_SSBD_FORCE_DISABLE: - { - static bool once = true; - - if ( once ) - printk("%s disabled from command-line\n", entry->desc); - once = false; + printk_once("%s disabled from command-line\n", entry->desc); arm_smccc_1_1_smc(ARM_SMCCC_ARCH_WORKAROUND_2_FID, 0, NULL); required = false; - break; - } case ARM_SSBD_RUNTIME: if ( required ) @@ -359,18 +352,11 @@ static bool has_ssbd_mitigation(const struct arm_cpu_capabilities *entry) break; case ARM_SSBD_FORCE_ENABLE: - { - static bool once = true; - - if ( once ) - printk("%s forced from command-line\n", entry->desc); - once = false; + printk_once("%s forced from command-line\n", entry->desc); arm_smccc_1_1_smc(ARM_SMCCC_ARCH_WORKAROUND_2_FID, 1, NULL); required = true; - break; - } default: ASSERT_UNREACHABLE(); diff --git a/xen/arch/arm/platforms/xilinx-zynqmp.c b/xen/arch/arm/platforms/xilinx-zynqmp.c index 08e3e11..3060d79 100644 --- a/xen/arch/arm/platforms/xilinx-zynqmp.c +++ b/xen/arch/arm/platforms/xilinx-zynqmp.c @@ -35,14 +35,9 @@ static bool zynqmp_smc(struct cpu_user_regs *regs) */ if ( !cpus_have_const_cap(ARM_SMCCC_1_1) ) { - static bool once = true; + printk_once(XENLOG_WARNING + "ZynqMP firmware Error: no SMCCC 1.1 support. Disabling firmware calls\n"); - if ( once ) - { - printk(XENLOG_WARNING "ZynqMP firmware Error: no SMCCC 1.1 " - "support. Disabling firmware calls."); - once = false; - } return false; } return zynqmp_eemi(regs); diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h index 91ed56c..ce231c5 100644 --- a/xen/include/xen/lib.h +++ b/xen/include/xen/lib.h @@ -105,6 +105,17 @@ debugtrace_printk(const char *fmt, ...) {} #define _p(_x) ((void *)(unsigned long)(_x)) extern void printk(const char *format, ...) __attribute__ ((format (printf, 1, 2))); + +#define printk_once(fmt, args...) \ +({ \ + static bool __read_mostly once_; \ + if ( unlikely(!once_) ) \ + { \ + once_ = true; \ + printk(fmt, ## args); \ + } \ +}) + extern void guest_printk(const struct domain *d, const char *format, ...) __attribute__ ((format (printf, 2, 3))); extern void noreturn panic(const char *format, ...) From patchwork Fri May 17 18:58:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrew Cooper X-Patchwork-Id: 10948429 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0A063933 for ; Fri, 17 May 2019 19:00:45 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EE2CB28426 for ; Fri, 17 May 2019 19:00:44 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DE7782842E; Fri, 17 May 2019 19:00:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 82E2F28426 for ; Fri, 17 May 2019 19:00:44 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hRi4B-0007og-Js; Fri, 17 May 2019 18:58:51 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hRi49-0007oQ-FW for xen-devel@lists.xenproject.org; Fri, 17 May 2019 18:58:49 +0000 X-Inumbo-ID: cdc4c896-78d5-11e9-8980-bc764e045a96 Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id cdc4c896-78d5-11e9-8980-bc764e045a96; Fri, 17 May 2019 18:58:48 +0000 (UTC) Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=andrew.cooper3@citrix.com; spf=SoftFail smtp.mailfrom=Andrew.Cooper3@citrix.com; spf=None smtp.helo=postmaster@MIAPEX02MSOL01.citrite.net Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of andrew.cooper3@citrix.com) identity=pra; client-ip=23.29.105.83; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="andrew.cooper3@citrix.com"; x-conformance=sidf_compatible Received-SPF: SoftFail (esa4.hc3370-68.iphmx.com: domain of Andrew.Cooper3@citrix.com is inclined to not designate 23.29.105.83 as permitted sender) identity=mailfrom; client-ip=23.29.105.83; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="Andrew.Cooper3@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 include:spf.citrix.com include:spf2.citrix.com include:ironport.citrix.com exists:%{i}._spf.mta.salesforce.com ~all" Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@MIAPEX02MSOL01.citrite.net) identity=helo; client-ip=23.29.105.83; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="postmaster@MIAPEX02MSOL01.citrite.net"; x-conformance=sidf_compatible IronPort-SDR: jWuVb1mIMAqumwxXhw8nFRTMV2vn+HbjQj9JDbG5/7zlKcxebI9rnS86Ux7GgCMG5IxXKMsVxP NEPl25Oa+AlUk/T11csYvIJGmvorFSLYjxmZjlwiKCejfzsvRFRtjyFGVPgWki9tAZVdeQacux UAZDwaXSo+uXjQNd+UW6Gqe8ilizOsxgyjl0sMPfhWo/e7ScfcoCfHAMAlyIgBFREkF/gyjLY4 RVDYZ2wW9qPR4jh9i2P2IDTvsWpmS1OXxDEo8RKvCdHvXrp75C2vT74Lw7p9Nh1rJX4ilFc9Y0 eO8= X-SBRS: 2.7 X-MesageID: 593811 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 23.29.105.83 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.60,481,1549947600"; d="scan'208";a="593811" From: Andrew Cooper To: Xen-devel Date: Fri, 17 May 2019 19:58:44 +0100 Message-ID: <1558119524-318-2-git-send-email-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1558119524-318-1-git-send-email-andrew.cooper3@citrix.com> References: <1558119524-318-1-git-send-email-andrew.cooper3@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 2/2] x86/mpparse: Don't print "limit reached" for every subsequent processor X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Andrew Cooper , Wei Liu , Jan Beulich , =?utf-8?q?Roger_Pau_Monn=C3=A9?= Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP When you boot Xen with the default 256 NR_CPUS, on a box with rather more processors, the resulting spew is unnecesserily verbose. Instead, print the message once, e.g: (XEN) ACPI: X2APIC (apic_id[0x115] uid[0x115] enabled) (XEN) WARNING: NR_CPUS limit of 256 reached - ignoring further processors (XEN) ACPI: X2APIC (apic_id[0x119] uid[0x119] enabled) (XEN) ACPI: X2APIC (apic_id[0x11d] uid[0x11d] enabled) (XEN) ACPI: X2APIC (apic_id[0x121] uid[0x121] enabled) Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich --- CC: Jan Beulich CC: Wei Liu CC: Roger Pau Monné --- xen/arch/x86/mpparse.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/mpparse.c b/xen/arch/x86/mpparse.c index 16c93a9..f057d91 100644 --- a/xen/arch/x86/mpparse.c +++ b/xen/arch/x86/mpparse.c @@ -157,15 +157,16 @@ static int MP_processor_info_x(struct mpc_config_processor *m, set_apicid(apicid, &phys_cpu_present_map); if (num_processors >= nr_cpu_ids) { - printk(KERN_WARNING "WARNING: NR_CPUS limit of %u reached." - " Processor ignored.\n", nr_cpu_ids); + printk_once(XENLOG_WARNING + "WARNING: NR_CPUS limit of %u reached - ignoring further processors\n", + nr_cpu_ids); return -ENOSPC; } if (num_processors >= 8 && hotplug && genapic.name == apic_default.name) { - printk(KERN_WARNING "WARNING: CPUs limit of 8 reached." - " Processor ignored.\n"); + printk_once(XENLOG_WARNING + "WARNING: CPUs limit of 8 reached - ignoring futher processors\n"); return -ENOSPC; }