RFC Rewrite sched_domain/sched_group creation
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest14 patches 8 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/14 | sched: Remove obsolete arch_ prefixeskernel/ | +7 | 0 replies | |
| 2/14 | sched: Simplify cpu_power initializationkernel/ | +5 | 2 replies | |
| 3/14 | sched: Simplify build_sched_groupskernel/ | +16 | 0 replies | |
| 4/14 | sched: Change NODE sched_domain group creationkernel/ | +33 | 0 replies | |
| 5/14 | sched: Clean up some ALLNODES codekernel/ | +4 | 0 replies | |
| 6/14 | Simplify group creationkernel/ | +5 | 0 replies | |
| 7/14 | sched: Simplify finding the lowest sched_domainkernel/ | +13 | 0 replies | |
| 8/14 | sched: Simplify sched_groups_power initializationkernel/ | +5 | 0 replies | |
| 9/14 | sched: Dynamically allocate sched_domain/sched_group data-structuresinclude/ kernel/ kernel/ | +214 | 4 replies | |
| 10/14 | sched: Simplify the free path somekernel/ | +5 | 0 replies | |
| 11/14 | sched: Reduce some allocation pressureinclude/ | +8 | 0 replies | |
| 12/14 | sched: Simplify NODE/ALLNODES domain creationkernel/ | +22 | 0 replies | |
| 13/14 | sched: Remove nodemask allocationkernel/ | +3 | 0 replies | |
| 14/14 | sched: Remove some dead codeinclude/ kernel/ | +0 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [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(-)