public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Use of barriers in pvclock ABI
@ 2008-08-08 19:51 Jeremy Fitzhardinge
  2008-08-11  7:08 ` Gerd Hoffmann
  0 siblings, 1 reply; 7+ messages in thread
From: Jeremy Fitzhardinge @ 2008-08-08 19:51 UTC (permalink / raw)
  To: Glauber de Oliveira Costa
  Cc: Avi Kivity, Marcelo Tosatti, Linux Kernel Mailing List, kvm-devel

In Xen, we guarantee that the pv clock record will only ever be updated 
by the current cpu, so there will never be any cross-cpu barrier or 
synchronization issues to consider, nor any chance a vcpu will see its 
own clock record in a partially updated state.

I notice the current kvm implementation is the same.

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?

    J

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-08-11 16:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-08 19:51 Use of barriers in pvclock ABI Jeremy Fitzhardinge
2008-08-11  7:08 ` Gerd Hoffmann
2008-08-11 14:15   ` Avi Kivity
2008-08-11 14:18   ` Glauber Costa
2008-08-11 14:35     ` Avi Kivity
2008-08-11 14:49     ` Gerd Hoffmann
2008-08-11 16:02     ` Jeremy Fitzhardinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox