Hi Paul, As I'm not so familiar with Linux kernel programming, I found the following hunk in commit 7945ae1a06c5 difficult to grasp at first glance. @@ -564,7 +584,7 @@ the other will wait until the first thread releases the lock. 38 exit(-1); 39 } 40 for (i = 0; i < 3; i++) { - 41 ACCESS_ONCE(x)++; + 41 READ_ONCE(x)++; 42 poll(NULL, 0, 5); 43 } 44 if (pthread_mutex_unlock(pmlp) != 0) { "The name READ_ONCE() seems to imply it is used for read access, but what happens when it is used with a "++" operator?" was what I thought. "ACCESS_ONCE(x)++" was already somewhat confusing for me. Once you know its definition, you can see there is no problem. But it still looks strange... Don't kernel programmers feel strangeness in "READ_ONCE(x)++"? This is just a random question. But if you could add some explanation of the usage, that would be of help for novice programmers. Thanks, Akira -- To unsubscribe from this list: send the line "unsubscribe perfbook" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html