3 examples showing ACCESS_ONCE()

it can prevent GCC from doing the following optimizations:

1. multi assignments to the same var

2. the conditional judgeiment: i.e. the load of a "flag"
   http://yarchive.net/comp/linux/ACCESS_ONCE.html
   So the rule is: if you access unlocked values, you use ACCESS_ONCE().
   You don't say "but it can't matter". Because you simply don't know.

3. some branch of a "if"