I am reading Linux Kernel Development 3rd edition by Robert Love,
On Ordering & Barriers, I read that:
smp_rmb() Provides an rmb() on SMP, and on UP provides a barrier()
I do not understand why UP version only does a barrier()
which just forbids rearranging on compile.
Does single core x86 processors not do Out-of-order execution?