Re: [RFC] Patch for isolated scheduler domains

From: Ingo Molnar
Date: Thu Jul 22 2004 - 12:57:25 EST



* Dimitri Sivanich <sivanich@xxxxxxx> wrote:

> I'm interested in implementing something I'll call isolated sched
> domains for single cpus (to minimize the latencies involved when doing
> things like load balancing on certain select cpus) on IA64.
>
> Below I've included an initial patch to illustrate what I'd like to
> do. I know there's been mention of 'platform specific work' in the
> area of sched domains. This patch only addresses IA64, but could be
> made generic as well. The code is derived directly from the current
> default arch_init_sched_domains code.

it looks good to me - and i'd suggest to put it into sched.c. Every
architecture benefits from the ability to define isolated CPUs.

One minor nit wrt. this line:

+ cpu_sd->flags &= ~(SD_BALANCE_NEWIDLE | SD_BALANCE_EXEC |
+ SD_BALANCE_CLONE); /* Probably redundant */

i'd suggest to set it to 0. You dont want WAKE_AFFINE nor WAKE_BALANCE
to move your tasks out of the isolated domain.

> - Assuming boot time configuration is appropriate ('isolcpus=' in my example),
> is allowing boot time configuration of only completely isolated cpus
> focusing too narrowly on this one concept, or should a boot time
> configuration allow for a broader array of configurations, or would other
> types of sched domain configurations be addressed separately?

i'd prefer to go with this simple solution and wait for actual usage
patterns to materialize. If it becomes popular we can define a syscall
to configure the domain hierarchy (maybe even the parameters) runtime.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/