rpms/kernel/F-7 kernel-2.6.spec, 1.3334, 1.3335 linux-2.6-sched-cfs-v2.6.22.5-v20.5.patch, 1.1, 1.2

Chuck Ebbert (cebbert) fedora-extras-commits at redhat.com
Wed Aug 29 23:43:30 UTC 2007


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5161

Modified Files:
	kernel-2.6.spec linux-2.6-sched-cfs-v2.6.22.5-v20.5.patch 
Log Message:
* Wed Aug 29 2007 Chuck Ebbert <cebbert at redhat.com>
- enable the i82365 ISA PCMCIA driver
- CFS scheduler bugfix



Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/kernel-2.6.spec,v
retrieving revision 1.3334
retrieving revision 1.3335
diff -u -r1.3334 -r1.3335
--- kernel-2.6.spec	29 Aug 2007 19:35:58 -0000	1.3334
+++ kernel-2.6.spec	29 Aug 2007 23:42:57 -0000	1.3335
@@ -2310,6 +2310,10 @@
 %endif
 
 %changelog
+* Wed Aug 29 2007 Chuck Ebbert <cebbert at redhat.com>
+- enable the i82365 ISA PCMCIA driver
+- CFS scheduler bugfix
+
 * Wed Aug 29 2007 Dave Jones <davej at redhat.com>
 - Fix time distortion in pm_trace (bz 250238)
 

linux-2.6-sched-cfs-v2.6.22.5-v20.5.patch:

Index: linux-2.6-sched-cfs-v2.6.22.5-v20.5.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/linux-2.6-sched-cfs-v2.6.22.5-v20.5.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-sched-cfs-v2.6.22.5-v20.5.patch	29 Aug 2007 16:13:25 -0000	1.1
+++ linux-2.6-sched-cfs-v2.6.22.5-v20.5.patch	29 Aug 2007 23:42:57 -0000	1.2
@@ -8910,3 +8910,48 @@
  config SCHEDSTATS
  	bool "Collect scheduler statistics"
  	depends on DEBUG_KERNEL && PROC_FS
+Try to fix MC/HT scheduler optimization breakage again, with out breaking
+the FUZZ logic.
+
+First fix the check
+	if (*imbalance + SCHED_LOAD_SCALE_FUZZ < busiest_load_per_task)
+with this
+	if (*imbalance < busiest_load_per_task)
+
+As the current check is always false for nice 0 tasks (as SCHED_LOAD_SCALE_FUZZ
+is same as busiest_load_per_task for nice 0 tasks).
+
+With the above change, imbalance was getting reset to 0 in the corner case
+condition, making the FUZZ logic fail. Fix it by not corrupting the
+imbalance and change the imbalance, only when it finds that the
+HT/MC optimization is needed.
+
+Signed-off-by: Suresh Siddha <suresh.b.siddha at intel.com>
+---
+
+diff --git a/kernel/sched.c b/kernel/sched.c
+index 9fe473a..03e5e8d 100644
+--- a/kernel/sched.c
++++ b/kernel/sched.c
+@@ -2511,7 +2511,7 @@ group_next:
+ 	 * a think about bumping its value to force at least one task to be
+ 	 * moved
+ 	 */
+-	if (*imbalance + SCHED_LOAD_SCALE_FUZZ < busiest_load_per_task) {
++	if (*imbalance < busiest_load_per_task) {
+ 		unsigned long tmp, pwr_now, pwr_move;
+ 		unsigned int imbn;
+ 
+@@ -2563,10 +2563,8 @@ small_imbalance:
+ 		pwr_move /= SCHED_LOAD_SCALE;
+ 
+ 		/* Move if we gain throughput */
+-		if (pwr_move <= pwr_now)
+-			goto out_balanced;
+-
+-		*imbalance = busiest_load_per_task;
++		if (pwr_move > pwr_now)
++			*imbalance = busiest_load_per_task;
+ 	}
+ 
+ 	return busiest;




More information about the fedora-extras-commits mailing list