Revert "x86, paravirt: Add a global synchronization point for pvclock" (Closes: #588426)
svn path=/dists/sid/linux-2.6/; revision=16001
This commit is contained in:
parent
a3b1ddbaa6
commit
525c652f0e
|
@ -13,6 +13,8 @@ linux-2.6 (2.6.32-18) UNRELEASED; urgency=low
|
|||
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
|
||||
|
|
60
debian/patches/debian/revert-x86-paravirt-Add-a-global-synchronization-point.patch
vendored
Normal file
60
debian/patches/debian/revert-x86-paravirt-Add-a-global-synchronization-point.patch
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
From 0524d9246e00d566c2037496e1eb9a1297876227 Mon Sep 17 00:00:00 2001
|
||||
From: Ben Hutchings <ben@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
|
||||
|
|
@ -66,3 +66,4 @@ X features/all/rt28x0/remove-rt3090-driver.commands
|
|||
+ 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
|
||||
|
|
Loading…
Reference in New Issue