Hi,
However, the pvclock_clocksource_read() implementation is
over-engineered, because it checks for an odd version and uses very
strong rmb() barriers (which generates either an "lfence" or "lock add
$0, (%esp)").
If we're happy to guarantee as an ABI issue that the record will never
be updated cross-cpu, then we can make the barriers simply barrier() and
just check for (src->version != dst->version).
Is that OK with you, or do you want to leave open the possibility of
doing cross-cpu time updates?
Due to the TSC being involved here I don't expect cross-cpu time updates
will ever happen. IMHO it is fine to change that.