Dan Magenheimer
2008-Jul-27 12:45 UTC
[Xen-devel] [PATCH] roughly synchronize calibration calls to reduce skew
This patch (based from 18139) roughly synchronizes calls to local_time_calibration() across multiple processors by setting each next timer to a "round epoch". This results in reduced skew; both max and average skew are reduced by between a factor of 2 and 3. Note that timers still fire at slightly different times because the next "round epoch" is still relative to local stime which still has some inter-processor skew. Making local_time_calibration() precisely concurrent across processors is a possible next step but since each processor still has to get the platform timer -- an operation that is locked and takes several (and sometimes tens of) microseconds, concurrency will take some more cleverness. Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com> ==================================Thanks... for the memory I really could use more / My throughput's on the floor The balloon is flat / My swap disk's fat / I've OOM's in store Overcommitted so much (with apologies to the late great Bob Hope) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Dan Magenheimer
2008-Jul-27 18:33 UTC
[Xen-devel] [PATCH] add more useful clock output for "xm debug-key t"
This patch collects additional useful clock skew output which is printk'd, for example, by "xm debug-key t". Since this information assists in the decision whether to select the new clocksource=tsc and softtsc boot options, it would be nice to have this in 3.3. By repeating "xm debug-key t; xm dmesg | tail -N" in dom0 (e.g. with the "watch" command), useful skew info about the machine can be collected, which will be very helpful for diagnosing customer problems on misbehaving machines. Patch details: 1) Min and max readings from the current sample are useless so get rid of those but retain the current maxdif (stime skew). 2) Remember max of skew, sum of skews, and a count so average skew can be displayed. 3) Also record info for cycles (tsc on x86, itc on ia64). 4) Add a hook for arch-dependent info. Only used for clocksource on x86 now, but other info will be added later. (Note, not compiled on ia64... its possible a header file will need to be include'd somewhere.) Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel