Re: [Lse-tech] [RFC PATCH] scheduler: Dynamic sched_domains

From: Matthew Dobson
Date: Fri Oct 08 2004 - 14:04:46 EST


On Fri, 2004-10-08 at 03:40, Nick Piggin wrote:
> And so you want to make a partition with CPUs {0,1,2,4,5}, and {3,6,7}
> for some crazy reason, the new domains would look like this:
>
> 0 1 2 4 5 3 6 7
> --- - --- - --- <- 0
> | | | | |
> ----- - - - <- 1
> | | | |
> ------- ----- <- 2 (global, partitioned)
>
> Agreed? You don't need to get fancier than that, do you?
>
> Then how to input the partitions... you could have a sysfs entry that
> takes the complete partition info in the form:
>
> 0,1,2,3 4,5,6 7,8 ...
>
> Pretty dumb and simple.

How do we describe the levels other than the first? We'd either need
to:
1) come up with a language to describe the full tree. For your example
I quoted above:
echo "0,1,2,4,5 3,6 7,8;0,1,2 4,5 3 6,7;0,1 2 4,5 3 6,7" > partitions

2) have multiple files:
echo "0,1,2,4,5 3,6,7" > level2
echo "0,1,2 4,5 3 6,7" > level1
echo "0,1 2 4,5 3 6,7" > level0

3) Or do it hierarchically as Paul implemented in cpusets, and as I
described in an earlier mail:
mkdir level2
echo "0,1,2,4,5 3,6,7" > level2/partitions
mkdir level1
echo "0,1,2 4,5 3 6,7" > level1/partitions
mkdir level0
echo "0,1 2 4,5 3 6,7" > level0/partitions

I personally like the hierarchical idea. Machine topologies tend to
look tree-like, and every useful sched_domain layout I've ever seen has
been tree-like. I think our interface should match that.

-Matt

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