[kernel] r16001 - in dists/sid/linux-2.6/debian: . patches/debian patches/series

Ben Hutchings benh at alioth.debian.org
Tue Jul 20 00:22:10 UTC 2010


Author: benh
Date: Tue Jul 20 00:22:06 2010
New Revision: 16001

Log:
Revert "x86, paravirt: Add a global synchronization point for pvclock" (Closes: #588426)

Added:
   dists/sid/linux-2.6/debian/patches/debian/revert-x86-paravirt-Add-a-global-synchronization-point.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/18

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Tue Jul 20 00:09:39 2010	(r16000)
+++ dists/sid/linux-2.6/debian/changelog	Tue Jul 20 00:22:06 2010	(r16001)
@@ -13,6 +13,8 @@
     does not implement the CMOV instruction
   * drm/i915: Add 'reclaimable' to i915 self-reclaimable page allocations
     (really closes: #534422, we hope)
+  * Revert "x86, paravirt: Add a global synchronization point for pvclock",
+    included in stable 2.6.32.16 (Closes: #588426)
 
   [ Martin Michlmayr ]
   * Add some patches from the Orion tree, including support for Marvell's

Added: dists/sid/linux-2.6/debian/patches/debian/revert-x86-paravirt-Add-a-global-synchronization-point.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/debian/revert-x86-paravirt-Add-a-global-synchronization-point.patch	Tue Jul 20 00:22:06 2010	(r16001)
@@ -0,0 +1,60 @@
+From 0524d9246e00d566c2037496e1eb9a1297876227 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Tue, 20 Jul 2010 01:15:53 +0100
+Subject: [PATCH] Revert "x86, paravirt: Add a global synchronization point for pvclock"
+
+This reverts commit 1345126c761f0360dc108973bf73281d51945bc1.
+---
+ arch/x86/kernel/pvclock.c |   24 ------------------------
+ 1 files changed, 0 insertions(+), 24 deletions(-)
+
+diff --git a/arch/x86/kernel/pvclock.c b/arch/x86/kernel/pvclock.c
+index dfdfe46..03801f2 100644
+--- a/arch/x86/kernel/pvclock.c
++++ b/arch/x86/kernel/pvclock.c
+@@ -109,14 +109,11 @@ unsigned long pvclock_tsc_khz(struct pvclock_vcpu_time_info *src)
+ 	return pv_tsc_khz;
+ }
+ 
+-static atomic64_t last_value = ATOMIC64_INIT(0);
+-
+ cycle_t pvclock_clocksource_read(struct pvclock_vcpu_time_info *src)
+ {
+ 	struct pvclock_shadow_time shadow;
+ 	unsigned version;
+ 	cycle_t ret, offset;
+-	u64 last;
+ 
+ 	do {
+ 		version = pvclock_get_time_values(&shadow, src);
+@@ -126,27 +123,6 @@ cycle_t pvclock_clocksource_read(struct pvclock_vcpu_time_info *src)
+ 		barrier();
+ 	} while (version != src->version);
+ 
+-	/*
+-	 * Assumption here is that last_value, a global accumulator, always goes
+-	 * forward. If we are less than that, we should not be much smaller.
+-	 * We assume there is an error marging we're inside, and then the correction
+-	 * does not sacrifice accuracy.
+-	 *
+-	 * For reads: global may have changed between test and return,
+-	 * but this means someone else updated poked the clock at a later time.
+-	 * We just need to make sure we are not seeing a backwards event.
+-	 *
+-	 * For updates: last_value = ret is not enough, since two vcpus could be
+-	 * updating at the same time, and one of them could be slightly behind,
+-	 * making the assumption that last_value always go forward fail to hold.
+-	 */
+-	last = atomic64_read(&last_value);
+-	do {
+-		if (ret < last)
+-			return last;
+-		last = atomic64_cmpxchg(&last_value, last, ret);
+-	} while (unlikely(last != ret));
+-
+ 	return ret;
+ }
+ 
+-- 
+1.7.1
+

Modified: dists/sid/linux-2.6/debian/patches/series/18
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/18	Tue Jul 20 00:09:39 2010	(r16000)
+++ dists/sid/linux-2.6/debian/patches/series/18	Tue Jul 20 00:22:06 2010	(r16001)
@@ -66,3 +66,4 @@
 + bugfix/all/inotify-fix-inotify-oneshot-support.patch
 + bugfix/all/inotify-send-IN_UNMOUNT-events.patch
 + bugfix/all/sched-fix-over-scheduling-bug.patch
++ debian/revert-x86-paravirt-Add-a-global-synchronization-point.patch



More information about the Kernel-svn-changes mailing list