On Wed, Sep 02, 2009 at 02:44:11PM +0300, Avi Kivity wrote: > On 09/01/2009 02:50 PM, Glauber Costa wrote: >> KVM clock is great to avoid drifting in guest VMs running ontop of kvm. >> However, the current mechanism will not propagate changes in wallclock value >> upwards. This effectively means that in a large pool of VMs that need accurate timing, >> all of them has to run NTP, instead of just the host doing it. >> >> Since the host updates information in the shared memory area upon msr writes, >> this patch introduces a worker that writes to that msr, and calls do_settimeofday >> at fixed intervals, with second resolution. A interval of 0 determines that we >> are not interested in this behaviour. A later patch will make this optional at >> runtime >> >> + >> +static void kvm_sync_wall_clock(struct work_struct *work) >> +{ >> + struct timespec now; >> + >> + kvm_get_wall_ts(&now); >> > > What happens if we schedule here? hummm, I guess disabling preemption would be enough to make us safe here? > >> + >> + do_settimeofday(&now); >> + schedule_next_update(); >> +} >> + >> +static __init int init_updates(void) >> +{ >> + schedule_next_update(); >> + return 0; >> +} >> +/* >> + * It has to be run after workqueues are initialized, since we call >> + * schedule_delayed_work. Other than that, we have no specific requirements >> + */ >> +late_initcall(init_updates); >> > > Should this run on bare metal too? > > -- > error compiling committee.c: too many arguments to function > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html