WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Xen time update algorithms

To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] Xen time update algorithms
From: Randy Thelen <rthelen@xxxxxxxxxx>
Date: Wed, 15 Nov 2006 12:26:22 -0800
Delivery-date: Wed, 15 Nov 2006 12:26:44 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] Xen time update algorithms, Randy Thelen <=