Defining Scheduler Task Groups

Submitted by Jeremy
on September 11, 2007 - 4:51am

"The cfs core has been enhanced since quite sometime now to understand task-groups and [to] provide fairness to such task-groups," began Srivatsa Vaddagiri, "what was needed was an interface for the administrator to define task-groups and specify group 'importance' in terms of its cpu share. The patch below adds such an interface."

Srivatsa requested that his patch be merged into Andrew Morton's -mm tree to receive more testing, "note that the load balancer needs more work, esp to deal with cases like 2-groups on 4-cpus, one group has 3 tasks and other having 4 tasks. We are working on some ideas, but nothing to share in the form of a patch yet. I felt sending this patch out would help folks start testing the feature and also improve it."


From:	Srivatsa Vaddagiri [email blocked]
Reply-To: [email blocked]
Subject: [PATCH] Hookup group-scheduler with task container infrastructure
Date:	Mon, 10 Sep 2007 22:40:49 +0530

Ingo and Andrew,
	The cfs core has been enhanced since quite sometime now to 
understand task-groups and provide fairness to such task-group. What was
needed is an interface for the administrator to define task-groups and
specify group "importance" in terms of its cpu share.

The patch below adds such an interface. Its based on the task containers
feature in -mm tree. I request you to review and include the patch in your
trees for more wider testing from community.

Note that the load balancer needs more work, esp to deal with cases like 
2-groups on 4-cpus, one group has 3 tasks and other having 4 tasks.
We are working on some ideas, but nothing to share in the form of a
patch yet. I felt sending this patch out would help folks start
testing the feature and also improve it.


Signed-off-by : Srivatsa Vaddagiri [email blocked]
Signed-off-by : Dhaval Giani [email blocked]

---
 include/linux/container_subsys.h |    5 
 init/Kconfig                     |    9 +
 kernel/sched.c                   |  311 +++++++++++++++++++++++++++++++++++++--
 kernel/sched_fair.c              |    3 
 4 files changed, 313 insertions(+), 15 deletions(-)

[patch]


From: Jan Engelhardt [email blocked] Subject: Re: [PATCH] Hookup group-scheduler with task container infrastructure Date: Mon, 10 Sep 2007 19:05:00 +0200 (CEST) On Sep 10 2007 22:40, Srivatsa Vaddagiri wrote: >+#ifdef CONFIG_FAIR_GROUP_SCHED >+SUBSYS(cpuctlr) >+#endif cpuctl, cpuctrl, cpu_controller?
From: Srivatsa Vaddagiri [email blocked] Reply-To: [email blocked] Subject: Re: [PATCH] Hookup group-scheduler with task container infrastructure Date: Mon, 10 Sep 2007 22:53:34 +0530 On Mon, Sep 10, 2007 at 07:05:00PM +0200, Jan Engelhardt wrote: > On Sep 10 2007 22:40, Srivatsa Vaddagiri wrote: > >+#ifdef CONFIG_FAIR_GROUP_SCHED > >+SUBSYS(cpuctlr) > >+#endif > > cpuctl, cpuctrl, cpu_controller? *shrug* .. I used "cpuctlr" to mean "CPU Controller". Any other short names would do. From your list, cpuctl or cpuctrl both qualifies IMO! Unless folks have strong objection to it, I prefer "cptctlr", the way it is. -- Regards, vatsa
From: Andrew Morton [email blocked] Subject: Re: [PATCH] Hookup group-scheduler with task container infrastructure Date: Mon, 10 Sep 2007 10:22:59 -0700 On Mon, 10 Sep 2007 22:53:34 +0530 Srivatsa Vaddagiri [email blocked] wrote: > On Mon, Sep 10, 2007 at 07:05:00PM +0200, Jan Engelhardt wrote: > > On Sep 10 2007 22:40, Srivatsa Vaddagiri wrote: > > >+#ifdef CONFIG_FAIR_GROUP_SCHED > > >+SUBSYS(cpuctlr) > > >+#endif > > > > cpuctl, cpuctrl, cpu_controller? > > *shrug* .. I used "cpuctlr" to mean "CPU Controller". Any other short names > would do. From your list, cpuctl or cpuctrl both qualifies IMO! > > Unless folks have strong objection to it, I prefer "cptctlr", the way it is. > objection ;) "cpuctlr" isn't memorable. Kernel code is write-rarely, read-often. "cpu_controller", please. The extra typing is worth it ;)
From: Srivatsa Vaddagiri [email blocked] Reply-To: [email blocked] Subject: Re: [PATCH] Hookup group-scheduler with task container infrastructure Date: Mon, 10 Sep 2007 23:16:49 +0530 On Mon, Sep 10, 2007 at 10:22:59AM -0700, Andrew Morton wrote: > objection ;) "cpuctlr" isn't memorable. Kernel code is write-rarely, > read-often. "cpu_controller", please. The extra typing is worth it ;) Ok! Here's the modified patch (against 2.6.23-rc4-mm1). Signed-off-by : Srivatsa Vaddagiri [email blocked] Signed-off-by : Dhaval Giani [email blocked] --- include/linux/container_subsys.h | 5 init/Kconfig | 9 + kernel/sched.c | 311 +++++++++++++++++++++++++++++++++++++-- kernel/sched_fair.c | 3 4 files changed, 313 insertions(+), 15 deletions(-) [patch]

Related Links: