[kernel] r15998 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/series

Maximilian Attems maks at alioth.debian.org
Sun Jul 18 21:43:09 UTC 2010


Author: maks
Date: Sun Jul 18 21:43:07 2010
New Revision: 15998

Log:
add scheduling fix

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/sched-fix-over-scheduling-bug.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	Sun Jul 18 21:04:48 2010	(r15997)
+++ dists/sid/linux-2.6/debian/changelog	Sun Jul 18 21:43:07 2010	(r15998)
@@ -36,6 +36,7 @@
   [ maximilian attems ]
   * inotify send IN_UNMOUNT events.
   * inotify fix oneshot support.
+  * sched: Fix over-scheduling bug.
 
  -- Ben Hutchings <ben at decadent.org.uk>  Wed, 14 Jul 2010 01:52:56 +0100
 

Added: dists/sid/linux-2.6/debian/patches/bugfix/all/sched-fix-over-scheduling-bug.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/sched-fix-over-scheduling-bug.patch	Sun Jul 18 21:43:07 2010	(r15998)
@@ -0,0 +1,60 @@
+From: Alex,Shi <alex.shi at intel.com>
+Date: Thu, 17 Jun 2010 06:08:13 +0000 (+0800)
+Subject: sched: Fix over-scheduling bug
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=3c93717cfa51316e4dbb471e7c0f9d243359d5f8
+
+sched: Fix over-scheduling bug
+
+Commit e70971591 ("sched: Optimize unused cgroup configuration") introduced
+an imbalanced scheduling bug.  [[ in 2.6.32-rc1 ]]
+
+If we do not use CGROUP, function update_h_load won't update h_load. When the
+system has a large number of tasks far more than logical CPU number, the
+incorrect cfs_rq[cpu]->h_load value will cause load_balance() to pull too
+many tasks to the local CPU from the busiest CPU. So the busiest CPU keeps
+going in a round robin. That will hurt performance.
+
+The issue was found originally by a scientific calculation workload that
+developed by Yanmin. With that commit, the workload performance drops
+about 40%.
+
+ CPU  before    after
+
+ 00   : 2       : 7
+ 01   : 1       : 7
+ 02   : 11      : 6
+ 03   : 12      : 7
+ 04   : 6       : 6
+ 05   : 11      : 7
+ 06   : 10      : 6
+ 07   : 12      : 7
+ 08   : 11      : 6
+ 09   : 12      : 6
+ 10   : 1       : 6
+ 11   : 1       : 6
+ 12   : 6       : 6
+ 13   : 2       : 6
+ 14   : 2       : 6
+ 15   : 1       : 6
+
+Reviewed-by: Yanmin zhang <yanmin.zhang at intel.com>
+Signed-off-by: Alex Shi <alex.shi at intel.com>
+Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
+LKML-Reference: <1276754893.9452.5442.camel at debian>
+Signed-off-by: Ingo Molnar <mingo at elte.hu>
+---
+
+diff --git a/kernel/sched.c b/kernel/sched.c
+index 2aaceeb..6c9e7c8 100644
+--- a/kernel/sched.c
++++ b/kernel/sched.c
+@@ -1657,9 +1657,6 @@ static void update_shares(struct sched_domain *sd)
+ 
+ static void update_h_load(long cpu)
+ {
+-	if (root_task_group_empty())
+-		return;
+-
+ 	walk_tg_tree(tg_load_down, tg_nop, (void *)cpu);
+ }
+ 

Modified: dists/sid/linux-2.6/debian/patches/series/18
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/18	Sun Jul 18 21:04:48 2010	(r15997)
+++ dists/sid/linux-2.6/debian/patches/series/18	Sun Jul 18 21:43:07 2010	(r15998)
@@ -65,3 +65,4 @@
 + bugfix/x86/drm-i915-add-reclaimable-to-i915-self-reclaimable-pa.patch
 + bugfix/all/inotify-fix-inotify-oneshot-support.patch
 + bugfix/all/inotify-send-IN_UNMOUNT-events.patch
++ bugfix/all/sched-fix-over-scheduling-bug.patch



More information about the Kernel-svn-changes mailing list