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

Bug#591362: linux-image-2.6.26-2-xen-686: domU hang and are unresponsive (was #534880)



Package: linux-image-2.6.26-2-xen-686
Version: 2.6.26-24
Severity: important

Bug #534880 in not yet fixed in lenny :-(
I found root cause of the problem; after I added following fix to lenny 
xen kernel, none of 56 domU froze again in one week of testing:

--- source_amd64_xen/arch/x86/kernel/time_32-xen.c      2010-07-24 07:28:32.162719094 +0200
+++ source_amd64_xen.new/arch/x86/kernel/time_32-xen.c  2010-07-24 07:26:32.416076711 +0200
@@ -466,6 +466,7 @@
 {
        s64 delta, delta_cpu, stolen, blocked;
        unsigned int i, cpu = smp_processor_id();
+       int schedule_clock_was_set_work = 0;
        struct shadow_time_info *shadow = &per_cpu(shadow_time, cpu);
        struct vcpu_runstate_info runstate;
 
@@ -525,12 +526,13 @@
 
        if (shadow_tv_version != HYPERVISOR_shared_info->wc_version) {
                update_wallclock();
-               if (keventd_up())
-                       schedule_work(&clock_was_set_work);
+               schedule_clock_was_set_work = 1;
        }
 
        write_sequnlock(&xtime_lock);
 
+       if (schedule_clock_was_set_work && keventd_up())
+               schedule_work(&clock_was_set_work);
        /*
         * Account stolen ticks.
         * HACK: Passing NULL to account_steal_time()
===== End-Of-Patch====

Best regards,

Zdenek Salvet                                              salvet@ics.muni.cz 
Institute of Computer Science of Masaryk University, Brno, Czech Republic
and CESNET, z.s.p.o., Prague, Czech Republic
Phone: ++420-549 49 6534                           Fax: ++420-541 212 747
----------------------------------------------------------------------------
      Teamwork is essential -- it allows you to blame someone else.




Reply to: