From 6f20830063f7bfcf580a2db3dbab273591d4b5fe Mon Sep 17 00:00:00 2001 From: Adam Sakareassen Date: Fri, 9 Nov 2012 02:46:00 +1100 Subject: [PATCH] Fix INVARIANT build issue --- sys/kern/kern_spinlock.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/sys/kern/kern_spinlock.c b/sys/kern/kern_spinlock.c index b0b0c21..5c523d1 100644 --- a/sys/kern/kern_spinlock.c +++ b/sys/kern/kern_spinlock.c @@ -206,15 +206,16 @@ spin_lock_contested(struct spinlock *spin) for (j = spinlocks_add_latency; j > 0; --j) cpu_ccfence(); #endif +#if defined(INVARIANTS) if (spin_lock_test_mode > 10 && spin->countb > spin_lock_test_mode && (spin_lock_test_mode & 0xFF) == mycpu->gd_cpuid) { spin->countb = 0; print_backtrace(-1); } - - i = 0; ++spin->countb; +#endif + i = 0; /*logspin(beg, spin, 'w');*/ for (;;) { @@ -240,7 +241,9 @@ spin_lock_contested(struct spinlock *spin) break; } if ((++i & 0x7F) == 0x7F) { +#if defined(INVARIANTS) ++spin->countb; +#endif if (spin_indefinite_check(spin, &info)) break; } @@ -263,15 +266,16 @@ spin_lock_shared_contested(struct spinlock *spin) for (j = spinlocks_add_latency; j > 0; --j) cpu_ccfence(); #endif +#if defined(INVARIANTS) if (spin_lock_test_mode > 10 && spin->countb > spin_lock_test_mode && (spin_lock_test_mode & 0xFF) == mycpu->gd_cpuid) { spin->countb = 0; print_backtrace(-1); } - - i = 0; ++spin->countb; +#endif + i = 0; /*logspin(beg, spin, 'w');*/ for (;;) { @@ -299,7 +303,9 @@ spin_lock_shared_contested(struct spinlock *spin) break; } if ((++i & 0x7F) == 0x7F) { +#if defined(INVARIANTS) ++spin->countb; +#endif if (spin_indefinite_check(spin, &info)) break; } -- 1.7.7.2