CFS Bandwidth Control V6
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest15 patches 113 repliesIn review
v5 from the cover letter
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/15 | sched: (fixlet) dont update shares twice on on_rq parentkernel/ | +3 | 6 replies | |
| 2/15 | sched: hierarchical task accounting for SCHED_OTHERkernel/ kernel/ kernel/ +1 more | +18 | 1 reply | |
| 3/15 | sched: introduce primitives to account for CFS bandwidth trackinginit/ kernel/ kernel/ | +217 | 1 reply | |
| 4/15 | sched: validate CFS quota hierarchiesinclude/ kernel/ kernel/ +1 more | +151 | 8 replies | |
| 5/15 | sched: add a timer to handle CFS bandwidth refreshkernel/ kernel/ | +77 | 4 replies | |
| 6/15 | sched: accumulate per-cfs_rq cpu usage and charge against bandwidthinclude/ kernel/ kernel/ +1 more | +96 | 7 replies | |
| 7/15 | sched: expire invalid runtimekernel/ kernel/ | +46 | 3 replies | |
| 8/15 | sched: throttle cfs_rq entities which exceed their local runtimekernel/ kernel/ | +133 | 3 replies | |
| 9/15 | sched: unthrottle cfs_rq(s) who ran out of quota at period refreshkernel/ kernel/ | +107 | 2 replies | |
| 10/15 | sched: allow for positional tg_tree walkskernel/ | +23 | 3 replies | |
| 11/15 | sched: prevent interactions between throttled entities and load-balancekernel/ kernel/ | +71 | 2 replies | |
| 12/15 | sched: migrate throttled tasks on HOTPLUGkernel/ | +29 | 2 replies | |
| 13/15 | sched: add exports tracking cfs bandwidth control statisticskernel/ kernel/ | +31 | 3 replies | |
| 14/15 | sched: return unused runtime on voluntary sleepkernel/ kernel/ | +113 | 1 reply | |
| 15/15 | sched: add documentation for bandwidth controlDocumentation/ | +104 | 2 replies |
Reviews trailers per patch
All 15 patches have a Reviewed-by or Acked-by.
| Patch | Hidetoshi Seto |
|---|---|
| 1/15 | R-b |
| 2/15 | R-b |
| 3/15 | R-b |
| 4/15 | R-b |
| 5/15 | R-b |
| 6/15 | R-b |
| 7/15 | R-b |
| 8/15 | R-b |
| 9/15 | R-b |
| 10/15 | R-b |
| 11/15 | R-b |
| 12/15 | R-b |
| 13/15 | R-b |
| 14/15 | R-b |
| 15/15 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [patch 00/15] CFS Bandwidth Control V6
[ Apologies if you're receiving this twice, the previous mailing did not seem to make it to the list for some reason ].
Hi all,
Please find attached the latest iteration of bandwidth control (v6).
Where the previous release cleaned up many of the semantics surrounding the update_curr() path and throttling, this release is focused on cleaning up the patchset itself. Elements such as the notion of expiring bandwidth from previous quota periods as well as some of the core accounting changes have been pushed up (and re-written for clarity) within the patchset reducing the patch-to-patch churn significantly.
While this restructuring was fairly extensive in terms of the code touched, there are no major behavioral changes beyond bug fixes.
Thanks to Hidetoshi Seto for identifying the throttle list corruption.
Notable changes:
- Runtime is now actively expired taking advantage of the bounds placed on sched_clock syncrhonization.
- distribute_cfs_runtime() no longer races with throttles around the period boundary.
- Major code cleanup
Bug fixes:
- several interactions with active load-balance have been corrected. This was manifesting previously in throttle_list corruption and crashes.
Interface:
----------
Three new cgroupfs files are exported by the cpu subsystem:
cpu.cfs_period_us : period over which bandwidth is to be regulated cpu.cfs_quota_us : bandwidth available for consumption per period
cpu.stat : statistics (such as number of throttled periods and
total throttled time)
One important interface change that this introduces (versus the rate limits proposal) is that the defined bandwidth becomes an absolute quantifier.
Previous postings:
-----------------
v5:
https://lkml.org/lkml/2011/3/22/477
v4:
https://lkml.org/lkml/2011/2/23/44
v3:
https://lkml.org/lkml/2010/10/12/44
v2:
http://lkml.org/lkml/2010/4/28/88
Original posting:
http://lkml.org/lkml/2010/2/12/393
Prior approaches:
http://lkml.org/lkml/2010/1/5/44 ["CFS Hard limits v5"]
Thanks,
- Paul