WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] x86: MCE cleanup

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] x86: MCE cleanup
From: Xen patchbot-unstable <patchbot@xxxxxxx>
Date: Thu, 10 Mar 2011 22:20:25 +0000
Delivery-date: Thu, 10 Mar 2011 14:30:34 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Jan Beulich <jbeulich@xxxxxxxxxx>
# Date 1299688288 0
# Node ID c56a2113d12854212a2e0ffd88da2ac8b0a3637c
# Parent  be7e54d86c578101af8bec715ab4ec1ec0fda6e9
x86: MCE cleanup

Move some MCE data items into .data.read_mostly. Adjust some types,
and make some symbols static.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---


diff -r be7e54d86c57 -r c56a2113d128 xen/arch/x86/cpu/mcheck/mce_intel.c
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c       Wed Mar 09 16:31:00 2011 +0000
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c       Wed Mar 09 16:31:28 2011 +0000
@@ -25,7 +25,7 @@
 static bool_t __read_mostly mce_force_broadcast;
 boolean_param("mce_fb", mce_force_broadcast);
 
-static int nr_intel_ext_msrs = 0;
+static int __read_mostly nr_intel_ext_msrs;
 
 /* Thermal Hanlding */
 #ifdef CONFIG_X86_MCE_THERMAL
@@ -60,7 +60,7 @@
 }
 
 /* Thermal interrupt handler for this CPU setup */
-static void (*vendor_thermal_interrupt)(struct cpu_user_regs *regs) 
+static void (*__read_mostly vendor_thermal_interrupt)(struct cpu_user_regs 
*regs)
         = unexpected_thermal_interrupt;
 
 fastcall void smp_thermal_interrupt(struct cpu_user_regs *regs)
@@ -156,8 +156,10 @@
 static void mce_barrier_enter(struct mce_softirq_barrier *);
 static void mce_barrier_exit(struct mce_softirq_barrier *);
 
-struct mca_error_handler *mce_dhandlers, *mce_uhandlers;
-int mce_dhandler_num, mce_uhandler_num;
+static const struct mca_error_handler *__read_mostly mce_dhandlers;
+static const struct mca_error_handler *__read_mostly mce_uhandlers;
+static unsigned int __read_mostly mce_dhandler_num;
+static unsigned int __read_mostly mce_uhandler_num;
 
 enum mce_result
 {
@@ -174,12 +176,11 @@
 {
     struct mc_info *local_mi;
     enum mce_result ret = MCER_NOERROR;
-    uint32_t i;
     struct mcinfo_common *mic = NULL;
     struct mca_handle_result mca_res;
     struct mca_binfo binfo;
-    struct mca_error_handler *handlers = mce_dhandlers;
-    int handler_num = mce_dhandler_num;
+    const struct mca_error_handler *handlers = mce_dhandlers;
+    unsigned int i, handler_num = mce_dhandler_num;
 
     /* When in mce context, regs is valid */
     if (regs)
@@ -724,8 +725,10 @@
         result->result = MCA_NO_ACTION;
 }
 
-struct mca_error_handler intel_mce_dhandlers[] =
-            {{is_async_memerr, intel_memerr_dhandler}, {default_check, 
intel_default_dhandler}};
+static const struct mca_error_handler intel_mce_dhandlers[] = {
+    {is_async_memerr, intel_memerr_dhandler},
+    {default_check, intel_default_dhandler}
+};
 
 static void intel_default_uhandler(int bnum,
              struct mca_binfo *binfo,
@@ -749,8 +752,9 @@
     }
 }
 
-struct mca_error_handler intel_mce_uhandlers[] =
-            {{default_check, intel_default_uhandler}};
+static const struct mca_error_handler intel_mce_uhandlers[] = {
+    {default_check, intel_default_uhandler}
+};
 
 static void intel_machine_check(struct cpu_user_regs * regs, long error_code)
 {
@@ -1222,9 +1226,9 @@
     mce_need_clearbank_register(intel_need_clearbank_scan);
 
     mce_dhandlers = intel_mce_dhandlers;
-    mce_dhandler_num = sizeof(intel_mce_dhandlers)/sizeof(struct 
mca_error_handler);
+    mce_dhandler_num = ARRAY_SIZE(intel_mce_dhandlers);
     mce_uhandlers = intel_mce_uhandlers;
-    mce_uhandler_num = sizeof(intel_mce_uhandlers)/sizeof(struct 
mca_error_handler);
+    mce_uhandler_num = ARRAY_SIZE(intel_mce_uhandlers);
 }
 
 static void cpu_mcabank_free(unsigned int cpu)
diff -r be7e54d86c57 -r c56a2113d128 xen/arch/x86/cpu/mcheck/vmce.c
--- a/xen/arch/x86/cpu/mcheck/vmce.c    Wed Mar 09 16:31:00 2011 +0000
+++ b/xen/arch/x86/cpu/mcheck/vmce.c    Wed Mar 09 16:31:28 2011 +0000
@@ -20,11 +20,11 @@
 
 #define dom_vmce(x)   ((x)->arch.vmca_msrs)
 
-uint64_t g_mcg_cap;
+static uint64_t __read_mostly g_mcg_cap;
 
 /* Real value in physical CTL MSR */
-uint64_t h_mcg_ctl = 0UL;
-uint64_t *h_mci_ctrl;
+static uint64_t __read_mostly h_mcg_ctl;
+static uint64_t *__read_mostly h_mci_ctrl;
 
 int vmce_init_msr(struct domain *d)
 {
@@ -425,6 +425,7 @@
     return 0;
 }
 
+#if 0 /* currently unused */
 int vmce_domain_inject(
     struct mcinfo_bank *bank, struct domain *d, struct mcinfo_global *global)
 {
@@ -436,6 +437,7 @@
 
     return inject_vmce(d);
 }
+#endif
 
 int vmce_init(struct cpuinfo_x86 *c)
 {

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] x86: MCE cleanup, Xen patchbot-unstable <=