public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Delete scheduler SD_WAKE_AFFINE and SD_WAKE_BALANCE flags
@ 2005-07-28 23:08 Chen, Kenneth W
  2005-07-28 23:34 ` Nick Piggin
  2005-07-29 11:26 ` Delete scheduler SD_WAKE_AFFINE and SD_WAKE_BALANCE flags Ingo Molnar
  0 siblings, 2 replies; 26+ messages in thread
From: Chen, Kenneth W @ 2005-07-28 23:08 UTC (permalink / raw)
  To: Ingo Molnar, 'Nick Piggin'; +Cc: linux-kernel, linux-ia64

What sort of workload needs SD_WAKE_AFFINE and SD_WAKE_BALANCE?
SD_WAKE_AFFINE are not useful in conjunction with interrupt binding.
In fact, it creates more harm than usefulness, causing detrimental
process migration and destroy process cache affinity etc.  Also
SD_WAKE_BALANCE is giving us performance grief with our industry
standard OLTP workload.

To demonstrate the problem, we turned off these two flags in the cpu
sd domain and measured a stunning 2.15% performance gain!  And deleting
all the code in the try_to_wake_up() pertain to load balancing gives us
another 0.2% gain.

The wake up patch should be made simple, just put the waking task on
the previously ran cpu runqueue.  Simple and elegant.

I'm proposing we either delete these two flags or make them run time
configurable.

- Ken



--- linux-2.6.12/include/linux/topology.h.orig	2005-07-28 15:54:05.007399685 -0700
+++ linux-2.6.12/include/linux/topology.h	2005-07-28 15:54:39.292555515 -0700
@@ -118,9 +118,7 @@
 	.flags			= SD_LOAD_BALANCE	\
 				| SD_BALANCE_NEWIDLE	\
 				| SD_BALANCE_EXEC	\
-				| SD_WAKE_AFFINE	\
-				| SD_WAKE_IDLE		\
-				| SD_WAKE_BALANCE,	\
+				| SD_WAKE_IDLE,		\
 	.last_balance		= jiffies,		\
 	.balance_interval	= 1,			\
 	.nr_balance_failed	= 0,			\


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2005-08-08 23:19 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-28 23:08 Delete scheduler SD_WAKE_AFFINE and SD_WAKE_BALANCE flags Chen, Kenneth W
2005-07-28 23:34 ` Nick Piggin
2005-07-28 23:48   ` Chen, Kenneth W
2005-07-29  1:25     ` Nick Piggin
2005-07-29  1:39       ` Chen, Kenneth W
2005-07-29  1:46         ` Nick Piggin
2005-07-29  1:53           ` Chen, Kenneth W
2005-07-29  2:01             ` Nick Piggin
2005-07-29  6:27               ` Chen, Kenneth W
2005-07-29  8:48                 ` Nick Piggin
2005-07-29  8:53                   ` Ingo Molnar
2005-07-29  8:59                     ` Nick Piggin
2005-07-29  9:01                       ` Ingo Molnar
2005-07-29  9:07                   ` Ingo Molnar
2005-07-29 16:40                   ` Ingo Molnar
2005-07-29 11:48                 ` [patch] remove wake-balancing Ingo Molnar
2005-07-29 14:13                   ` [sched, patch] better wake-balancing Ingo Molnar
2005-07-29 15:02                     ` [sched, patch] better wake-balancing, #2 Ingo Molnar
2005-07-29 16:21                       ` [sched, patch] better wake-balancing, #3 Ingo Molnar
2005-07-30  0:08                         ` Nick Piggin
2005-07-30  7:19                           ` Ingo Molnar
2005-07-31  1:15                             ` Nick Piggin
2005-08-01 17:13                               ` Siddha, Suresh B
2005-08-08 23:18                             ` Chen, Kenneth W
2005-07-29 11:26 ` Delete scheduler SD_WAKE_AFFINE and SD_WAKE_BALANCE flags Ingo Molnar
2005-07-29 17:30   ` Chen, Kenneth W

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox