rmlock: Temporarily revert commit c84bb8cd77

It appears to have introduced a regression on arm64, possibly due to the
fact that the pcpu pointer is reloaded outside of the critical section
in _rm_rlock().  Until this is resolved one way or another, let's
revert.

Reported by:	Ronald Klop <ronald-lists@klop.ws>
Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Mark Johnston 2022-03-07 10:35:59 -05:00
parent cb6f722562
commit afb44cb010

View File

@ -451,7 +451,7 @@ _rm_rlock(struct rmlock *rm, struct rm_priotracker *tracker, int trylock)
td->td_critnest++; /* critical_enter(); */
atomic_interrupt_fence();
pc = get_pcpu();
pc = cpuid_to_pcpu[td->td_oncpu];
rm_tracker_add(pc, tracker);
sched_pin();
@ -515,7 +515,7 @@ _rm_runlock(struct rmlock *rm, struct rm_priotracker *tracker)
td->td_critnest++; /* critical_enter(); */
atomic_interrupt_fence();
pc = get_pcpu();
pc = cpuid_to_pcpu[td->td_oncpu];
rm_tracker_remove(pc, tracker);
atomic_interrupt_fence();