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

RE: [Xen-devel] [Patch] time resolution fix.


Keir Fraser wrote:
> What effect will this have? Are you suggesting to always run guest
> time at 'virtual time' rather than real wallclock time?
Ooo, the new proposal is not focusing on this issue :-) 

The basic issue we saw is 
1: how to jump guest time
    For example, when a SMP system has 2 VPs, each VP APIC time 
(VP0-VP1) has a scheduled fire time say at 4ms, and 6ms time. 
And the platform time say PIT is scheduled at 8ms time. 
when VP0 is descheduled, while VP1 is switched in, then probably
we can't inject APIC time IRQ to VP1 even hypervisor undergo 
6ms+ time. Because injecting APIC time IRQ means VP1 saw guest 
time jumped to 6ms later and same on TSC (platform). Otherwise when 
VP0 is switched in, guest TSC time on VP0 is in 6ms+ later time, but
the ACPI timer ISR is still assuming it is in 4ms time. This kind of
synchronization means VP0 see backward time that may cause various
corner case like we saw previously in PIT and TSC. 
        Combining per processor time IRQ with platform time IRQ, the 
situation will become much complicated.

2: How to deliver guest time IRQ effeciently.
     Same with above situation, if the VP with next scheduled timer
is deactive, all other VP may be unable to get time IRQ. That is unfair
and may
cause no way to catchup in some difficult case :-)
      Also if platform time IRQ is pinned on certain VP, that is much
worse :-(

3: Make platform time code object orientation.
    That means, no matter RTC, ACPI or PIT time, for each HVM, the
can choice eithe of them and xen will provide dynamic register APIs. In
this way we 
are no longer pinned on PIT.

We have something in mind, but not fully completed yet. 
For simplicity, we may assume a) An guest OS only use one of the 
platform time as its ticking resource.  b) platform time IRQ is not
pinned on
certain VP.


Xen-devel mailing list



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