[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Xen time update algorithms


  • To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Randy Thelen <rthelen@xxxxxxxxxx>
  • Date: Wed, 15 Nov 2006 12:26:22 -0800
  • Delivery-date: Wed, 15 Nov 2006 12:26:44 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.