Page MenuHomeFreeBSD

D29513.id86620.diff
No OneTemporary

D29513.id86620.diff

Index: sys/kern/subr_lock.c
===================================================================
--- sys/kern/subr_lock.c
+++ sys/kern/subr_lock.c
@@ -130,17 +130,17 @@
for (i = la->delay; i > 0; i--)
cpu_spinwait();
-
la->spin_cnt += la->delay;
+
+ la->delay <<= 1;
+ if (__predict_false(la->delay > lc->max))
+ la->delay = lc->max;
+
if (__predict_false(la->spin_cnt > starvation_limit)) {
SDT_PROBE1(lock, , , starvation, la->delay);
if (restrict_starvation)
la->delay = lc->base;
}
-
- la->delay <<= 1;
- if (__predict_false(la->delay > lc->max))
- la->delay = lc->max;
}
static u_int

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 12, 11:32 PM (9 h, 17 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23645754
Default Alt Text
D29513.id86620.diff (617 B)

Event Timeline