Skip to content

sched: per-entity load-tracking

[email protected] lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest16 patches 37 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/16sched: track the runnable average on a per-task entitiy basisinclude/linux/sched.h kernel/sched/core.c kernel/sched/debug.c +1 more+150 -05 replies
2/16sched: maintain per-rq runnable averageskernel/sched/debug.c kernel/sched/fair.c kernel/sched/sched.h+26 -44 replies
3/16sched: aggregate load contributed by task entities on parenting cfs_rqinclude/linux/sched.h kernel/sched/debug.c kernel/sched/fair.c +1 more+60 -51 reply
4/16sched: maintain the load contribution of blocked entitiesinclude/linux/sched.h kernel/sched/core.c kernel/sched/debug.c +2 more+118 -151 reply
5/16sched: add an rq migration call-back to sched_classinclude/linux/sched.h kernel/sched/core.c kernel/sched/fair.c+15 -01 reply
6/16sched: account for blocked load waking back upkernel/sched/fair.c kernel/sched/sched.h+78 -192 replies
7/16sched: aggregate total task_group loadkernel/sched/debug.c kernel/sched/fair.c kernel/sched/sched.h+30 -01 reply
8/16sched: compute load contribution by a group entitykernel/sched/fair.c+27 -61 reply
9/16sched: normalize tg load contributions against runnable timekernel/sched/debug.c kernel/sched/fair.c kernel/sched/sched.h+62 -01 reply
10/16sched: maintain runnable averages across throttled periodskernel/sched/fair.c kernel/sched/sched.h+42 -111 reply
11/16sched: replace update_shares weight distribution with per-entity computationkernel/sched/debug.c kernel/sched/fair.c kernel/sched/sched.h+34 -1654 replies
12/16sched: refactor update_shares_cpu() -> update_blocked_avgs()kernel/sched/fair.c+23 -271 reply
13/16sched: update_cfs_shares at period edgekernel/sched/fair.c+10 -83 replies
14/16sched: make __update_entity_runnable_avg() fastkernel/sched/fair.c+99 -243 replies
15/16sched: implement usage trackinginclude/linux/sched.h kernel/sched/debug.c kernel/sched/fair.c +1 more+34 -71 reply
16/16sched: introduce temporary FAIR_GROUP_SCHED dependency for load-trackinginclude/linux/sched.h kernel/sched/core.c kernel/sched/fair.c +1 more+32 -51 reply

Reviews trailers per patch

All 16 patches have a Reviewed-by or Acked-by.

PatchBen SegallPaul Turner
1/16R-b R-b
2/16R-b R-b
3/16R-b R-b
4/16R-b R-b
5/16R-b R-b
6/16R-b R-b
7/16R-b R-b
8/16R-b R-b
9/16R-b R-b
10/16R-b R-b
11/16R-b R-b
12/16R-b R-b
13/16R-b R-b
14/16R-b R-b
15/16R-b
16/16R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [patch 00/16] sched: per-entity load-tracking

Hi all,

Please find attached the latest version for CFS load-tracking.

It implements load-tracking on a per-sched_entity (currently SCHED_NORMAL, but could be extended to RT as well) basis. This results in a bottom-up load-computation in which entities contribute to their parents' load, as opposed to the current top-down where the parent averages its children. In particular this allows us to correctly migrate load with their accompanying entities and provides the necessary inputs for intelligent load-balancing and power-management.

We've been running this internally for some time now and modulo any gremlins from rebasing it, I think things have been shaken out and we're touching mergeable state.

Special thanks to Namhyung Kim and Peter Zijlstra for comments on the last round series.

For more background and prior discussion please review the previous posting:
https://lkml.org/lkml/2012/6/27/644

- Paul