In usr/src/uts/i86pc/os/timestamp.c function tsc_suspend() http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/i86pc/os/timestamp.c#tsc_suspend
703 if (tsc_delta_onsuspend) { 704 tsc_adjust_delta(tsc_saved_tsc); 705 } else { 706 tsc_adjust_delta(nsec_scale); 707 } Can anyone explain why line 706 has to call tsc_adjust_delta() with parameter nsec_scale? What exactly is this call supposed to adjust? The argument for tsc_adjust_delta() is a number of cpu clock ticks, but nsec_scale is (10^9 * 2^27 / cpu_freq). It's not a number of tsc ticks but some scale factor. On my Tecra S1 Pentium-M 1.3 GHz laptop this adds (10^9*2^27)/1300000000 == 103244406 clock ticks (or 0.079 seconds). But why? The tsc_adjust_delta(nsec_scale) call appears bogus to me... -- This message posted from opensolaris.org