Folks -- My colleague and I are looking at the linux update_wallclock() algorithm and the same (more or less) algorithm in FreeBSD. And we''ve noticed an independent_wallclock variable and associated functions in Linux that look like they provide some utility. In Linux: static void update_wallclock(void) { shared_info_t *s = HYPERVISOR_shared_info; do { shadow_tv_version = s->wc_version; rmb(); shadow_tv.tv_sec = s->wc_sec; shadow_tv.tv_nsec = s->wc_nsec; rmb(); } while ((s->wc_version & 1) | (shadow_tv_version ^ s- >wc_version)); if (!independent_wallclock) __update_wallclock(shadow_tv.tv_sec, shadow_tv.tv_nsec); } In FreeBSD there isn''t the check for independent_wallclock, nor any __update_wallclock()-like functionality. However, it appears that the __update_wallclock() algorithm is necessary. My questions are: 1) Is support for independent_wallclock functionality "relatively" new? (i.e., Last couple of years? Or, since Xen 2.0?) 2) Is (!independent_wallclock) ever true? If so, what sort of environments? Is it true for dom0? Is there a guest mode where having an independent wallclock is appropriate? 3) Is most everything in the linux-xen-sparse tree under the LGPL license? We''re working to port the code from linux-xen-sparse/time-xen.c to FreeBSD in order to fix our problem; we''re just curious about the environment in which the code runs. -- Randy _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel