Jeremy Fitzhardinge wrote:
> Gerd Hoffmann wrote:
>> I'm looking at the guest side of the issue right now, trying to identify
>> common code, and while doing so noticed that xen does the
>> version-check-loop in both get_time_values_from_xen(void) and
>> xen_clocksource_read(void), and I can't see any obvious reason for that.
>>  The loop in xen_clocksource_read(void) is not needed IMHO.  Can I
>> drop it?
> 
> No.  The get_nsec_offset() needs to be atomic with respect to the
> get_time_values() parameters.

Hmm, I somehow fail to see a case where it could be non-atomic ...

get_time_values() copies a consistent snapshot, thus
xen_clocksource_read() doesn't race against xen updating the fields.
The snapshot is in a per-cpu variable, thus it doesn't race against
other guest vcpus running get_time_values() at the same time.

> There could be a loopless
> __get_time_values() for use in this case, but given that it almost never
> loops, I don't think its worthwhile.

"in this case" ???  I'm confused.  There is only a single user of
get_nsec_offset(), which is xen_clocksource_read() ...

cheers,
  Gerd

-- 
http://kraxel.fedorapeople.org/xenner/

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to