That's not the problem. We use per-cpu values for each counter (and
when the user asks for the value, we add together the values from
each processor).
At least on x86 gcc usually seems to just generate an incl, which should
be ok because it is atomic enough (even when a reschedule happens it will
act as a full memory barrier)
So it'll likely just be a problem for load-store architectures.
-Andi