Re: boot-time slowdown for measure_migration_cost

From: Ingo Molnar <mingo_at_elte.hu>
Date: 2006-01-31 06:24:38
* Luck, Tony <tony.luck@intel.com> wrote:

> Doing this drops the time to compute the value from 15.58s to 10.39s, 
> while the value of migration_cost changes from 10112 to 9909.
>
> > - in kernel/sched.c, change this line:
> >                 size = size * 20 / 19;
> >   to:
> >                 size = size * 10 / 9;
>
> Doing this instead of changing ITERATIONS makes the computation take 
> 7.79s and the computed migration_cost is 9987.
>
> Doing both gets the time down to 5.20s, and the migration_cost=9990.

ok, that's good enough i think - we could certainly do the patch below 
in v2.6.16.

> On the plus side Prarit's results show that this time isn't scaling 
> with NR_CPUS ... apparently just cache size and number of domains are 
> significant in the time to compute.

yes, this comes from the algorithm, it only computes once per distance 
(and uses the cached value from then on), independently of the number of 
CPUs.

	Ingo

---
reduce the amount of time the migration cost calculations cost during 
bootup.

Signed-off-by: Ingo Molnar <mingo@elte.hu>

--- linux/kernel/sched.c.orig
+++ linux/kernel/sched.c
@@ -5141,7 +5141,7 @@ static void init_sched_build_groups(stru
 #define SEARCH_SCOPE		2
 #define MIN_CACHE_SIZE		(64*1024U)
 #define DEFAULT_CACHE_SIZE	(5*1024*1024U)
-#define ITERATIONS		2
+#define ITERATIONS		1
 #define SIZE_THRESH		130
 #define COST_THRESH		130
 
@@ -5480,9 +5480,9 @@ static unsigned long long measure_migrat
 				break;
 			}
 		/*
-		 * Increase the cachesize in 5% steps:
+		 * Increase the cachesize in 10% steps:
 		 */
-		size = size * 20 / 19;
+		size = size * 10 / 9;
 	}
 
 	if (migration_debug)
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Tue Jan 31 06:24:39 2006

This archive was generated by hypermail 2.1.8 : 2006-01-31 06:24:47 EST