Re: [PATCH] 2.6.3-rc3-mm1: sched-group-power

From: Nick Piggin
Date: Thu Feb 19 2004 - 20:40:35 EST




Rick Lindsley wrote:

Nick, I'm not sure what capability this patch adds .. perhaps some words
of explanation.

So we have SMT/HT situations where we'd prefer to balance across cores;
that is, if 0, 1, 2, and 3 share a core and 4, 5, 6, and 7 share a core,
you'd like two processes to arrange themselves so one is on [0123] and
another is on [4567]. This is what the SD_IDLE flag indicated before.

With this patch, we can "weight" the load imposed by certain cpus, right?
What advantage does this give us? On a given machine, won't the "weight"
of any one set of SMT siblings and cores be uniform with respect to all
the cores and siblings anyway?



It is difficult to propogate the SD_FLAG_IDLE attribute up
multiple domains.

For example, with SMT + CPU + NODE domains you can get into
the following situation:

01, 23 are 4 siblings in 2 cores on node 0,
45, 67 are " " " on node 1.

The top level balancing domain now spans 01234567, and wants to
balance between groups 0123, and 4567. We don't want SD_FLAG_IDLE
semantics here, because that would mean if two tasks were running
on node 0, one would be migrated to node 1. We want to migrate 1
task if one node is idle, and the other has 3 processes running for
example.

Also this copes with siblings becoming much more powerful, or
some groups with SMT turned off, some on (think hotplug cpu),
different speed CPUs, etc.

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