[kernel] r16116 - in dists/lenny/linux-2.6/debian: . patches/features/all/xen patches/series
Ben Hutchings
benh at alioth.debian.org
Wed Aug 11 02:01:33 UTC 2010
Author: benh
Date: Wed Aug 11 02:01:30 2010
New Revision: 16116
Log:
[xen] Fix deadlock in timer interrupt, thanks to Zdenek Salvet (Closes: #534880)
Added:
dists/lenny/linux-2.6/debian/patches/features/all/xen/xen-fix-deadlock-in-timer-interrupt.patch
dists/lenny/linux-2.6/debian/patches/series/25-extra
Modified:
dists/lenny/linux-2.6/debian/changelog
Modified: dists/lenny/linux-2.6/debian/changelog
==============================================================================
--- dists/lenny/linux-2.6/debian/changelog Wed Aug 11 01:25:10 2010 (r16115)
+++ dists/lenny/linux-2.6/debian/changelog Wed Aug 11 02:01:30 2010 (r16116)
@@ -2,6 +2,8 @@
[ Ben Hutchings ]
* pid_ns: Ensure that child_reaper is always valid (Closes: #570350)
+ * [xen] Fix deadlock in timer interrupt, thanks to Zdenek Salvet
+ (Closes: #534880)
[ Moritz Muehlenhoff ]
* parport: quickfix the proc registration bug (Closes: #588672)
Added: dists/lenny/linux-2.6/debian/patches/features/all/xen/xen-fix-deadlock-in-timer-interrupt.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/lenny/linux-2.6/debian/patches/features/all/xen/xen-fix-deadlock-in-timer-interrupt.patch Wed Aug 11 02:01:30 2010 (r16116)
@@ -0,0 +1,34 @@
+From: Zdenek Salvet <salvet at ics.muni.cz>
+Subject: linux-image-2.6.26-2-xen-686: domU hang and are unresponsive (was #534880)
+Date: Mon, 2 Aug 2010 15:03:41 +0200
+
+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:
+
+--- a/arch/x86/kernel/time_32-xen.c
++++ b/arch/x86/kernel/time_32-xen.c
+@@ -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()
Added: dists/lenny/linux-2.6/debian/patches/series/25-extra
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/lenny/linux-2.6/debian/patches/series/25-extra Wed Aug 11 02:01:30 2010 (r16116)
@@ -0,0 +1 @@
++ features/all/xen/xen-fix-deadlock-in-timer-interrupt.patch featureset=xen
More information about the Kernel-svn-changes
mailing list