Re: [RFC] Patch for isolated scheduler domains

From: Nick Piggin
Date: Thu Jul 22 2004 - 22:29:03 EST


Ingo Molnar wrote:
* 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.


Cool. Have you actually tried running it? With Ingo's correction, it
should work fine but I don't think anyone has tested this.

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.


Seconded.
-
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/