ring_queue: change volatile to ACCESS_ONCE().

In the kernel we like to explicitly "mark" variables that are
volatile via the macro ACCESS_ONCE().

Remove "volatile" from cons/prod head and tail, and instead mark
each volatile access with ACCESS_ONCE().

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
ring_queue: use kernels cmpxchg function instead of own variant

The performance difference is almost none.  In some cases I could
measure a performance drop of 0.299 ns.  I attribute this to that
atomic32_cmpset uses the status flag ZF, which is a by-product of the
"cmpxchg" instruction, via the "sete" instruction.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>