Messages in this thread | | | Date | Mon, 14 Mar 2011 16:06:13 +0100 | From | Peter Zijlstra <> | Subject | [RFC][PATCH 00/14] Rewrite sched_domain/sched_group creation |
| |
So I got annoyed with the whole sched_domain/sched_group creation mess again and decided to actuall do something about it. See here ;-)
Its not completely done yet, but much of the ground-work is there.
The final goal is to be able to have a simple way to dynamically specify the architecture topoplogy and have the generic code in charge of building the data structures. The architecture would need to provide a function that maps a cpu to a cpumask and a function that initializes the sched_domain (flags etc.), this would replace the now still hard-coded __build_*_sched_domain() calls in __build_sched_domains().
With that we can also kill the current NODE and ALLNODES mess and generate appropriate masks from say the ACPI SLIT table by grouping CPUs on their node distance.
This would allow us to kill the horrid mess in x86's cpu_coregroup_mask() and properly support the AMD magnycours stuff.
Anyway, not quite there yet.. patches build and boot on a 2*6*2 wsm box.
--- include/linux/sched.h | 19 +- kernel/sched.c | 817 +++++++++++++------------------------------------ kernel/sched_fair.c | 32 ++- 3 files changed, 258 insertions(+), 610 deletions(-)
| |