[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: Large system boot problems
On 12/2/08 16:34, "Bill Burns" <bburns@xxxxxxxxxx> wrote: > Making this one line change, as in the attached patch > yields a properly working dom0. Tested on both a small > memory and large memory system. It's not really correct though. The idea of the calibration algorithm is to find a multiplier d(system_time)/d(tsc) which we can use to calculate system_time deltas from tsc deltas by a simple multiplication. The tsc_shift is effectively the exponent part of a custom floating-point format (that mantissa part being calibration_mul_frac). The idea is to shift tsc_elapsed such that stime_elapsed/tsc_elapsed yields a fraction between 0.5 and 1, and therefore maximises significant bits in the mantissa representation which has an implicit leading radix point. *So*, the upshot of all this is that when we shift stime_elapsed and tsc_elapsed together, we do not change the value of d(delta_stime)/d(delta_tsc) and so of course the exponent of that value (tsc_shift) does not change. Put another way, you've perturbed the system and coincidentally made the bug go into hiding. But it's not really fixed and, in fact, your patch is simply broken from an algorithmic point of view. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |