< prev index next >

src/hotspot/share/runtime/objectMonitor.cpp

Print this page
rev 51780 : imported patch syncknobs-00-base
rev 51781 : imported patch syncknobs-01-Knob_ReportSettings
rev 51782 : imported patch syncknobs-02-Knob_SpinBackOff

*** 107,117 **** int ObjectMonitor::Knob_VerifyInUse = 0; int ObjectMonitor::Knob_VerifyMatch = 0; int ObjectMonitor::Knob_SpinLimit = 5000; // derived by an external tool - static int Knob_SpinBase = 0; // Floor AKA SpinMin - static int Knob_SpinBackOff = 0; // spin-loop backoff static int Knob_CASPenalty = -1; // Penalty for failed CAS static int Knob_OXPenalty = -1; // Penalty for observed _owner change static int Knob_SpinSetSucc = 1; // spinners set the _succ field static int Knob_SpinEarly = 1; static int Knob_SuccEnabled = 1; // futile wake throttling --- 107,116 ----
*** 2213,2224 **** // One-shot global initialization ... // The initialization is idempotent, so we don't need locks. // In the future consider doing this via os::init_2(). if (os::is_MP()) { ! BackOffMask = (1 << Knob_SpinBackOff) - 1; ! // CONSIDER: BackOffMask = ROUNDUP_NEXT_POWER2 (ncpus-1) } else { Knob_SpinLimit = 0; Knob_SpinBase = 0; Knob_PreSpin = 0; Knob_FixedSpin = -1; --- 2212,2222 ---- // One-shot global initialization ... // The initialization is idempotent, so we don't need locks. // In the future consider doing this via os::init_2(). if (os::is_MP()) { ! BackOffMask = 0; } else { Knob_SpinLimit = 0; Knob_SpinBase = 0; Knob_PreSpin = 0; Knob_FixedSpin = -1;
< prev index next >