ex: A critical section would be surrounded by acquire/release semeantics. You don't want operations in your critical section to be reordered and end up outside the critical section. On the other hand, it's O.K. for items outside the critical section to be reordered so that they occur in the critical section.
GGOda
It's best to make the amount of code inside of a critical section to be as little instructions as possible, or the slowdown from the critical section will be significant
ex: A critical section would be surrounded by acquire/release semeantics. You don't want operations in your critical section to be reordered and end up outside the critical section. On the other hand, it's O.K. for items outside the critical section to be reordered so that they occur in the critical section.
It's best to make the amount of code inside of a critical section to be as little instructions as possible, or the slowdown from the critical section will be significant