MCPcopy Create free account
hub / github.com/F-Stack/f-stack / rms_runlock_fallback

Function rms_runlock_fallback

freebsd/kern/kern_rmlock.c:1067–1083  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1065}
1066
1067static void __noinline
1068rms_runlock_fallback(struct rmslock *rms)
1069{
1070
1071 rms_int_influx_exit(rms, rms_int_pcpu(rms));
1072 critical_exit();
1073
1074 mtx_lock(&rms->mtx);
1075 MPASS(rms->writers > 0);
1076 MPASS(rms->readers > 0);
1077 MPASS(rms->debug_readers == rms->readers);
1078 rms_int_debug_readers_dec(rms);
1079 rms->readers--;
1080 if (rms->readers == 0)
1081 wakeup_one(&rms->writers);
1082 mtx_unlock(&rms->mtx);
1083}
1084
1085void
1086rms_runlock(struct rmslock *rms)

Callers 1

rms_runlockFunction · 0.85

Calls 7

rms_int_influx_exitFunction · 0.85
rms_int_pcpuFunction · 0.85
mtx_lockFunction · 0.70
wakeup_oneFunction · 0.70
mtx_unlockFunction · 0.70
critical_exitFunction · 0.50

Tested by

no test coverage detected