kernel - Temporarily back-out smp_invltlb() changes
authorMatthew Dillon <dillon@apollo.backplane.com>
Sun, 24 Oct 2010 22:29:00 +0000 (15:29 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sun, 24 Oct 2010 22:30:02 +0000 (15:30 -0700)
* These changes are deadlocking i386 kernels, and it is too close to
  the release so back them out for the release.  The issue will be
  fixed another way post-release.

sys/platform/pc32/i386/mp_machdep.c
sys/platform/pc64/x86_64/mp_machdep.c

index 95e231c..c3bdc1a 100644 (file)
@@ -2606,13 +2606,14 @@ void
 smp_invltlb(void)
 {
 #ifdef SMP
+#if 0
        pmap_inval_info info;
 
        pmap_inval_init(&info);
        pmap_inval_interlock(&info, &kernel_pmap, -1);
        pmap_inval_deinterlock(&info, &kernel_pmap);
        pmap_inval_done(&info);
-#if 0
+#else
        if (smp_startup_mask == smp_active_mask) {
                all_but_self_ipi(XINVLTLB_OFFSET);
        } else {
index 221c5fc..32cb86d 100644 (file)
@@ -2789,13 +2789,14 @@ void
 smp_invltlb(void)
 {
 #ifdef SMP
+#if 0
        struct pmap_inval_info info;
 
        pmap_inval_init(&info);
        pmap_inval_interlock(&info, &kernel_pmap, -1);
        pmap_inval_deinterlock(&info, &kernel_pmap);
        pmap_inval_done(&info);
-#if 0
+#else
        if (smp_startup_mask == smp_active_mask) {
                all_but_self_ipi(XINVLTLB_OFFSET);
        } else {