On Wed, 2010-05-05 at 19:23 +0000, Haiyang Zhang wrote:
Why a maximum of 50 samples?
It might be better to do something like this
so the ns_to_timespec isn't performe when unnecessary.
static void settimeofday(winfiletime_t hosttime)
{
s64 host_tns = (hosttime - WLTIMEDELTA) * 100;
struct timespec host_ts = ns_to_timespec(host_tns);
do_settimeofday(&host_ts);
}
static void adj_guesttime(winfiletime_t hosttime, u8 flags)
{
static s32 scnt = 50;
if ((flags & ICTIMESYNCFLAG_SYNC) != 0) {
settimeofday(hosttime);
return;
}
if ((flags & ICTIMESYNCFLAG_SAMPLE) != 0 && scnt > 0) {
scnt--;
settimeofday(hosttime);
}
}
--