[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] [PATCH 05/12] xen/pvclock: add monotonicity check
> On 10/14/09 20:26, Dan Magenheimer wrote: > > As long as we are going through the trouble of making > > this monotonic, shouldn't it be monotonically increasing > > (rather than just monotonically non-decreasing)? The > > rdtsc instruction and any suitably high-precision > > hardware timer will never return the same value > > on subsequent uses so this might be a reasonable > > precedent to obey. E.g. > > > > + return ret > xen_clocksource.cycle_last ? > > + ret : ++xen_clocksource.cycle_last; > > No, cycle_last isn't updated on every read, only on timer ticks. This > test doesn't seem to be intended to make sure that every > clocksource_read is globally monotonic, but just to avoid > some boundary > conditions in the timer interrupt. I just copied it directly from > read_tsc(). I understand but you are now essentially emulating a reliable platform timer with a potentially unreliable (but still high resolution) per-CPU timer AND probably delivering that result to userland. Read_tsc should only be used if either CONSTANT_TSC or TSC_RELIABLE is true, so read_tsc is guaranteed to be monotonically-strictly-increasing by hardware (and enforced for CONSTANT_TSC by check_tsc_warp at boot). _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |