Page MenuHomeFreeBSD

D34381.id103325.diff
No OneTemporary

D34381.id103325.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
Sat, Mar 14, 5:52 AM (8 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29655426
Default Alt Text
D34381.id103325.diff (607 B)

Event Timeline