[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