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/
Home Products Support Community News


RE: [Xen-devel][PATCH] Multiple HVM time device model support in HV

To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
Subject: RE: [Xen-devel][PATCH] Multiple HVM time device model support in HV
From: "Dong, Eddie" <eddie.dong@xxxxxxxxx>
Date: Thu, 25 May 2006 21:55:56 +0800
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 25 May 2006 06:57:12 -0700
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
Thread-index: AcZ//cdb06FZV9n2TLKXYKuF0ZgE6gAAf3Nw
Thread-topic: [Xen-devel][PATCH] Multiple HVM time device model support in HV
        This patch is what I want to replace original 9672 patch. 
        Before 9672, actually we have an periodic time in hypervisor
although the PIT is in Qemu, but 9672 removed this periodic time and
embedded it into PIT code for some reason. After this new patch, if you
compare Qemu i8254.c with xen i8254.c, the diff is very small and very
simple (only some VMM related new APIs). Here it is for the i8254.c
diff, and we will be very easy to update to latest Qemu.
        Now we are thinking to put RTC and ACPI time into xen, they both
may generate periodic time IRQ. With the new patch, RTC & ACPI time only
need to create an instance of periodic time. The device model of RTC and
ACPI itself will be very clean. Otherwise, same code needs to be
embedded into both RTC and ACPI device model (i.e. handle timer IRQ in
device model). That makes future maintain difficult. Further more, any
time virtualization policy change needs to modify all time devices in
        1/3 of i8254.c changes is due to new PIT CLK driving mechanism
(use guest TSC instead of host NOW() ). In this way, original change in
I8254.c is no longer needed, and thus removed.
        1/6 of the patch is due to cache_tsc_offset move to per VP basis

Keir Fraser wrote:
> On 25 May 2006, at 03:51, Dong, Eddie wrote:
>> This patch targets to support multiple HVM time device models coming
>>      soon. 1: Adopt an abstract layer for periodic time on top of
>> different 
>> HV time device models like PIT, RTC and ACPI time.
>>      2: Extract VMM knowledge from PIT DM code and keep close with
>> qemu for easy maintain in future.
>>      3: Use guest time (TSC) to drive PIT CLK that helps us to remove
>> a lot of extra logic previously introduced to convert from host time
>>      to guest time. 4: Some cleanup for SMP code like move
>> cache_tsc_offset to per 
>> VP.
> This patch is very large. Most of it seems to deal with this new
> abstraction of 'periodic time'. What does that mean, and why is it
> useful?
>   -- Keir

Attachment: i8254_diff6
Description: i8254_diff6

Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>