rpms/kernel/F-10 linux-2.6.27.5-sched_clock-prevent-scd-clock-from-moving-backwards.patch, NONE, 1.1 kernel.spec, 1.1191, 1.1192
Chuck Ebbert
cebbert at fedoraproject.org
Mon Dec 15 08:28:14 UTC 2008
Author: cebbert
Update of /cvs/pkgs/rpms/kernel/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12891
Modified Files:
kernel.spec
Added Files:
linux-2.6.27.5-sched_clock-prevent-scd-clock-from-moving-backwards.patch
Log Message:
Revert -stable patch that causes suspend problems (L-K BZ 12149, 12155)
linux-2.6.27.5-sched_clock-prevent-scd-clock-from-moving-backwards.patch:
--- NEW FILE linux-2.6.27.5-sched_clock-prevent-scd-clock-from-moving-backwards.patch ---
>From cebbert at redhat.com Tue Nov 4 14:26:49 2008
From: Dave Kleikamp <shaggy at linux.vnet.ibm.com>
Date: Sun, 26 Oct 2008 18:20:14 -0400
Subject: sched_clock: prevent scd->clock from moving backwards
To: stable at kernel.org
Cc: Peter Zijlstra <peterz at infradead.org>, Molnar <mingo at elte.hu>, Ingo at hera.kernel.org
Message-ID: <20081026182014.3706d944 at redhat.com>
From: Dave Kleikamp <shaggy at linux.vnet.ibm.com>
commit 5b7dba4ff834259a5623e03a565748704a8fe449 upstream
sched_clock: prevent scd->clock from moving backwards
When sched_clock_cpu() couples the clocks between two cpus, it may
increment scd->clock beyond the GTOD tick window that __update_sched_clock()
uses to clamp the clock. A later call to __update_sched_clock() may move
the clock back to scd->tick_gtod + TICK_NSEC, violating the clock's
monotonic property.
This patch ensures that scd->clock will not be set backward.
Signed-off-by: Dave Kleikamp <shaggy at linux.vnet.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
Signed-off-by: Ingo Molnar <mingo at elte.hu>
Cc: Chuck Ebbert <cebbert at redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
---
kernel/sched_clock.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/kernel/sched_clock.c
+++ b/kernel/sched_clock.c
@@ -118,13 +118,13 @@ static u64 __update_sched_clock(struct s
/*
* scd->clock = clamp(scd->tick_gtod + delta,
- * max(scd->tick_gtod, scd->clock),
- * scd->tick_gtod + TICK_NSEC);
+ * max(scd->tick_gtod, scd->clock),
+ * max(scd->clock, scd->tick_gtod + TICK_NSEC));
*/
clock = scd->tick_gtod + delta;
min_clock = wrap_max(scd->tick_gtod, scd->clock);
- max_clock = scd->tick_gtod + TICK_NSEC;
+ max_clock = wrap_max(scd->clock, scd->tick_gtod + TICK_NSEC);
clock = wrap_max(clock, min_clock);
clock = wrap_min(clock, max_clock);
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1191
retrieving revision 1.1192
diff -u -r1.1191 -r1.1192
--- kernel.spec 14 Dec 2008 07:47:40 -0000 1.1191
+++ kernel.spec 15 Dec 2008 08:27:44 -0000 1.1192
@@ -583,6 +583,8 @@
Patch12: linux-2.6-lib-idr-fix-bug-introduced-by-rcu-fix.patch
# fix VMI crash in 27.7
Patch13: linux-2.6.27.7-vmi-fix-crash-on-boot.patch
+# revert 2.6.27.5 patch that causes suspend/resume failures
+Patch14: linux-2.6.27.5-sched_clock-prevent-scd-clock-from-moving-backwards.patch
# Standalone patches
Patch20: linux-2.6-hotfixes.patch
@@ -1104,6 +1106,7 @@
ApplyPatch linux-2.6-lib-idr-fix-bug-introduced-by-rcu-fix.patch
ApplyPatch linux-2.6.27.7-vmi-fix-crash-on-boot.patch
+ApplyPatch linux-2.6.27.5-sched_clock-prevent-scd-clock-from-moving-backwards.patch -R
ApplyPatch linux-2.6-hotfixes.patch
@@ -1926,6 +1929,9 @@
%kernel_variant_files -k vmlinux %{with_kdump} kdump
%changelog
+* Mon Dec 15 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.9-156
+- Revert -stable patch that causes suspend problems (L-K BZ 12149, 12155)
+
* Sun Dec 14 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.9-155
- Linux 2.6.27.9
More information about the fedora-extras-commits
mailing list