Hi :) > > > It might be a good idea use atomic operations instead of the spin lock > > > (which is what the spin lock is using behind the scenes anyways). > > > > It may not be possible: further down there is a decision taken depending > > on totalthreads/nreqthreads becoming 1, and thus you need a spinlock to > > make that coherent with the ++/--. > > Too bad. Perhaps combining the quantities into a single word as > follows would work: > > atomic.add(threads, 1<<16 | 1) > > This has the further advantage of reducing the number of atomic > operations.
Something along the lines of the following patch? I haven't really tested this, but a superficial test with a tmpfs translator did not turn up any obvious problems. Justus