[ Thanks to Rob
Kennedy for this link. ]
“Multi processor systems are becoming more and more common
place. Whilst most userspace code will run perfectly, and in some
cases take advantage of SMP features without adding extra code,
kernel space code should be written to be ‘SMP aware’ and ‘SMP
safe’. This series of articles will explain how this is
done.“
“The problem:
When you have more than one CPU, the same code can be executed
on both (or more) CPUs at the same time. This can be an issue in
routines such as those in figure 1, which initialises some
imaginary device.”