diff options
author | Paul Turner <pjt@google.com> | 2011-07-21 12:43:28 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-08-14 06:03:20 -0400 |
commit | ab84d31e15502fb626169ba2663381e34bf965b2 (patch) | |
tree | 658ce7caa6199aa74c5feea92ec8d3e9a2cb4296 /init | |
parent | 953bfcd10e6f3697233e8e5128c611d275da39c1 (diff) |
sched: Introduce primitives to account for CFS bandwidth tracking
In this patch we introduce the notion of CFS bandwidth, partitioned into
globally unassigned bandwidth, and locally claimed bandwidth.
- The global bandwidth is per task_group, it represents a pool of unclaimed
bandwidth that cfs_rqs can allocate from.
- The local bandwidth is tracked per-cfs_rq, this represents allotments from
the global pool bandwidth assigned to a specific cpu.
Bandwidth is managed via cgroupfs, adding two new interfaces to the cpu subsystem:
- cpu.cfs_period_us : the bandwidth period in usecs
- cpu.cfs_quota_us : the cpu bandwidth (in usecs) that this tg will be allowed
to consume over period above.
Signed-off-by: Paul Turner <pjt@google.com>
Signed-off-by: Nikhil Rao <ncrao@google.com>
Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
Reviewed-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20110721184756.972636699@google.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig index d62778390e55..d19b3a77ab44 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -715,6 +715,18 @@ config FAIR_GROUP_SCHED | |||
715 | depends on CGROUP_SCHED | 715 | depends on CGROUP_SCHED |
716 | default CGROUP_SCHED | 716 | default CGROUP_SCHED |
717 | 717 | ||
718 | config CFS_BANDWIDTH | ||
719 | bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED" | ||
720 | depends on EXPERIMENTAL | ||
721 | depends on FAIR_GROUP_SCHED | ||
722 | default n | ||
723 | help | ||
724 | This option allows users to define CPU bandwidth rates (limits) for | ||
725 | tasks running within the fair group scheduler. Groups with no limit | ||
726 | set are considered to be unconstrained and will run with no | ||
727 | restriction. | ||
728 | See tip/Documentation/scheduler/sched-bwc.txt for more information. | ||
729 | |||
718 | config RT_GROUP_SCHED | 730 | config RT_GROUP_SCHED |
719 | bool "Group scheduling for SCHED_RR/FIFO" | 731 | bool "Group scheduling for SCHED_RR/FIFO" |
720 | depends on EXPERIMENTAL | 732 | depends on EXPERIMENTAL |