[email protected] said:
> Hi!
> 
> I think a problem with your test program is that you don't wait for the 
> write() thread to finish before you try to read the mmap(). See how locking 
> on a producer-consumer (or reader-writer) relationship is usually implemented 
> (If you don't have it ready, I could send you the algorithms).

That shoudln't matter. The write thread opens the file descriptor with
O_DSYNC, and all the test program is trying to verify is that the mmap
eventually becomes consistent.  You can ignore the pthread_barrier stuff,
that just tries to eliminate thread creation time from the equation.

Now that I think about the output, there is a fairly obvious explanation
for the numbers - 1 means the writer thread got scheduled first.  However
I'm still not sure why the # of iterations on MIPS is so high - scheduling
resolution on the box maybe?

Martin
 

Reply via email to