func parallelReader(m *RWMutex, clocked chan bool, cunlock *atomic.Bool, cdone chan bool) { … } func doTestParallelReaders(numReaders int) { … } func TestParallelRWMutexReaders(t *testing.T) { … } func reader(rwm *RWMutex, num_iterations int, activity *int32, cdone chan bool) { … } func writer(rwm *RWMutex, num_iterations int, activity *int32, cdone chan bool) { … } func HammerRWMutex(gomaxprocs, numReaders, num_iterations int) { … } func TestRWMutex(t *testing.T) { … } func BenchmarkRWMutexUncontended(b *testing.B) { … } func benchmarkRWMutex(b *testing.B, localWork, writeRatio int) { … } func BenchmarkRWMutexWrite100(b *testing.B) { … } func BenchmarkRWMutexWrite10(b *testing.B) { … } func BenchmarkRWMutexWorkWrite100(b *testing.B) { … } func BenchmarkRWMutexWorkWrite10(b *testing.B) { … }