Index: benchmark/readyQ/locality.go
===================================================================
--- benchmark/readyQ/locality.go	(revision 8235415dd35f1c3a5da755fd0149d4db6d1f6b8e)
+++ benchmark/readyQ/locality.go	(revision 94d93510adbab4156d0ad3db925fcf5f1efbcb83)
@@ -83,4 +83,10 @@
 }
 
+func work(data * [] uint64, size uint64, cnt uint64, state * uint64) {
+	for i := uint64(0); i < cnt; i++ {
+		(*data)[__xorshift64(state) % size] += 1
+	}
+}
+
 func local(result chan uint64, start chan struct{}, size uint64, cnt uint64, channels [] Spot, share bool, id int) {
     	state := rand.Uint64()
@@ -99,7 +105,5 @@
 	<- start
 	for true {
-		for i := uint64(0); i < cnt; i++ {
-			(*data)[__xorshift64(&state) % size] += 1
-		}
+		work(data, size, cnt, &state)
 
 		i := __xorshift64(&state) % uint64(len(channels))
