Page MenuHomeFreeBSD

D31053.1785071781.diff
No OneTemporary

Size
635 B
Referenced Files
None
Subscribers
None

D31053.1785071781.diff

diff --git a/sys/kern/kern_mutex.c b/sys/kern/kern_mutex.c
--- a/sys/kern/kern_mutex.c
+++ b/sys/kern/kern_mutex.c
@@ -587,7 +587,7 @@
* owner stops running or the state of the lock changes.
*/
owner = lv_mtx_owner(v);
- if (TD_IS_RUNNING(owner)) {
+ if (__predict_true(m != &Giant) && TD_IS_RUNNING(owner)) {
if (LOCK_LOG_TEST(&m->lock_object, 0))
CTR3(KTR_LOCK,
"%s: spinning on %p held by %p",
@@ -630,7 +630,7 @@
* again.
*/
owner = lv_mtx_owner(v);
- if (TD_IS_RUNNING(owner)) {
+ if (__predict_true(m != &Giant) && TD_IS_RUNNING(owner)) {
turnstile_cancel(ts);
continue;
}

File Metadata

Mime Type
text/plain
Expires
Sun, Jul 26, 1:16 PM (5 m, 58 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29270148
Default Alt Text
D31053.1785071781.diff (635 B)

Event Timeline