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-changelog

[Xen-changelog] [IA64] Followup to xen time cleanup

# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 29dfadcc5029738ad0c2a8934a51afcc834ecae5
# Parent  2e81aba147ebdb2a2dc7e39565ecd1faa7117eea
[IA64] Followup to xen time cleanup

Clean up to xen time handler. Tristan #if 0 some code because it seems
redundant, which however is actually problematic logic as a reason for
an intermittent timer oops issue of dom0. So delete it now.

Also remove vcpu_wake, since wakeup current has nothing meaningful and
simply waste cpu cycle.

Signed-off-by: Kevin Tian <kevin.tian@xxxxxxxxx>

diff -r 2e81aba147eb -r 29dfadcc5029 xen/arch/ia64/xen/xentime.c
--- a/xen/arch/ia64/xen/xentime.c       Fri Mar 24 11:36:22 2006 -0700
+++ b/xen/arch/ia64/xen/xentime.c       Mon Mar 27 15:32:08 2006 -0700
@@ -118,41 +118,17 @@ xen_timer_interrupt (int irq, void *dev_
 #endif
 #endif
 
-#if 0
-       /* Nobody seems to be able to explain this code.
-          It seems to be accumulated tricks, which are not required anymore.
-          Also I have made many tests, I'd like to get confirmation from
-          other site (TG).  */
-       if (current->domain == dom0) {
-               // FIXME: there's gotta be a better way of doing this...
-               // We have to ensure that domain0 is launched before we
-               // call vcpu_timer_expired on it
-               //domain0_ready = 1; // moved to xensetup.c
-               VCPU(current,pending_interruption) = 1;
-       }
-       if (domain0_ready && current->domain != dom0) {
-               if(vcpu_timer_expired(dom0->vcpu[0])) {
-                       vcpu_pend_timer(dom0->vcpu[0]);
-                       //vcpu_set_next_timer(dom0->vcpu[0]);
-                       vcpu_wake(dom0->vcpu[0]);
-               }
-       }
-#endif
-       if (!is_idle_domain(current->domain))  {
+       if (!is_idle_domain(current->domain))
                if (vcpu_timer_expired(current)) {
                        vcpu_pend_timer(current);
                        // ensure another timer interrupt happens even if 
domain doesn't
                        vcpu_set_next_timer(current);
-                       vcpu_wake(current);
                }
-       }
+
        new_itm = local_cpu_data->itm_next;
 
        if (!VMX_DOMAIN(current) && !time_after(ia64_get_itc(), new_itm))
                return IRQ_HANDLED;
-
-       if (VMX_DOMAIN(current))
-               vcpu_wake(current);
 
        while (1) {
                new_itm += local_cpu_data->itm_delta;
@@ -199,12 +175,7 @@ xen_timer_interrupt (int irq, void *dev_
                 */
                while (!time_after(new_itm, ia64_get_itc() + 
local_cpu_data->itm_delta/2))
                        new_itm += local_cpu_data->itm_delta;
-//#ifdef XEN
-//             vcpu_set_next_timer(current);
-//#else
-//printf("***** timer_interrupt: Setting itm to %lx\n",new_itm);
                ia64_set_itm(new_itm);
-//#endif
                /* double check, in case we got hit by a (slow) PMI: */
        } while (time_after_eq(ia64_get_itc(), new_itm));
        raise_softirq(TIMER_SOFTIRQ);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [IA64] Followup to xen time cleanup, Xen patchbot -unstable <=