Page MenuHomeFreeBSD

D34381.1789347647.diff
No OneTemporary

Size
607 B
Referenced Files
None
Subscribers
None

D34381.1789347647.diff

diff --git a/sys/kern/kern_rmlock.c b/sys/kern/kern_rmlock.c
--- a/sys/kern/kern_rmlock.c
+++ b/sys/kern/kern_rmlock.c
@@ -449,17 +449,13 @@
THREAD_NO_SLEEPING();
td->td_critnest++; /* critical_enter(); */
-
atomic_interrupt_fence();
pc = get_pcpu();
-
rm_tracker_add(pc, tracker);
-
sched_pin();
atomic_interrupt_fence();
-
td->td_critnest--;
/*
@@ -517,8 +513,12 @@
return;
td->td_critnest++; /* critical_enter(); */
+ atomic_interrupt_fence();
+
pc = get_pcpu();
rm_tracker_remove(pc, tracker);
+
+ atomic_interrupt_fence();
td->td_critnest--;
sched_unpin();

File Metadata

Mime Type
text/plain
Expires
Mon, Sep 14, 1:00 AM (8 h, 16 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29608283
Default Alt Text
D34381.1789347647.diff (607 B)

Event Timeline