[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