Re: Use of barriers in pvclock ABI

From: Avi Kivity
Date: Mon Aug 11 2008 - 10:15:27 EST


Gerd Hoffmann wrote:
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.


I agree. And if we ever feel the need, we can allocate a feature bit for it.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/