linux.conf.au, January 2003 PRINCIPLES: Race Conditions Race conditions when a process is preempted: lwz 9,0(3) # Load contents of R3 + 0 into R9 ***** PROCESS 1 KICKED OFF CPU. PROCESS 2: ***** ... lwz 9,0(3) # Load contents of R3 + 0 into R9 addi 9,9,1 # Add one to R9 stw 9,0(3) # Put contents of R9 back into R3 + 0 ... ***** PROCESS 1 RETURNS TO CPU ***** addi 9,9,1 # Add one to R9 stw 9,0(3) # Put contents of R9 back into R3 + 0