All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch] sched,cgroup_sched: fix up task_groups list
@ 2012-08-06 15:32 Mike Galbraith
  2012-08-06 19:04 ` Peter Zijlstra
  0 siblings, 1 reply; 6+ messages in thread
From: Mike Galbraith @ 2012-08-06 15:32 UTC (permalink / raw)
  To: LKML; +Cc: Peter Zijlstra


Thinko happened during sched migration to kernel/sched, fix it up.

Signed-off-by: Mike Galbraith <efault@gmx.de>
Cc: stable@kernel.org # v3.3+
---
 kernel/sched/core.c  |    1 +
 kernel/sched/sched.h |    2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -7246,6 +7246,7 @@ int in_sched_functions(unsigned long add
 
 #ifdef CONFIG_CGROUP_SCHED
 struct task_group root_task_group;
+LIST_HEAD(task_groups);
 #endif
 
 DECLARE_PER_CPU(cpumask_var_t, load_balance_tmpmask);
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -80,7 +80,7 @@ extern struct mutex sched_domains_mutex;
 struct cfs_rq;
 struct rt_rq;
 
-static LIST_HEAD(task_groups);
+extern struct list_head task_groups;
 
 struct cfs_bandwidth {
 #ifdef CONFIG_CFS_BANDWIDTH



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch] sched,cgroup_sched: fix up task_groups list
  2012-08-06 15:32 [patch] sched,cgroup_sched: fix up task_groups list Mike Galbraith
@ 2012-08-06 19:04 ` Peter Zijlstra
  2012-08-06 20:09   ` Mike Galbraith
  0 siblings, 1 reply; 6+ messages in thread
From: Peter Zijlstra @ 2012-08-06 19:04 UTC (permalink / raw)
  To: Mike Galbraith; +Cc: LKML

On Mon, 2012-08-06 at 17:32 +0200, Mike Galbraith wrote:
> Thinko happened during sched migration to kernel/sched, fix it up.

what's the effect.. that is what broke and why are we backporting this
to -stable?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch] sched,cgroup_sched: fix up task_groups list
  2012-08-06 19:04 ` Peter Zijlstra
@ 2012-08-06 20:09   ` Mike Galbraith
  2012-08-06 20:41     ` Peter Zijlstra
  0 siblings, 1 reply; 6+ messages in thread
From: Mike Galbraith @ 2012-08-06 20:09 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: LKML

On Mon, 2012-08-06 at 21:04 +0200, Peter Zijlstra wrote: 
> On Mon, 2012-08-06 at 17:32 +0200, Mike Galbraith wrote:
> > Thinko happened during sched migration to kernel/sched, fix it up.
> 
> what's the effect.. that is what broke and why are we backporting this
> to -stable?

The effect is that for_each_rt_rq() doesn't work, because it's not the
same task_groups list that groups were added to, it's an empty list, so
__enable/disable_runtime() and print_rt_stats() don't work, and you
can't see rt task groups.

-Mike


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch] sched,cgroup_sched: fix up task_groups list
  2012-08-06 20:09   ` Mike Galbraith
@ 2012-08-06 20:41     ` Peter Zijlstra
  2012-08-07  3:00       ` Mike Galbraith
  0 siblings, 1 reply; 6+ messages in thread
From: Peter Zijlstra @ 2012-08-06 20:41 UTC (permalink / raw)
  To: Mike Galbraith; +Cc: LKML

On Mon, 2012-08-06 at 22:09 +0200, Mike Galbraith wrote:
> On Mon, 2012-08-06 at 21:04 +0200, Peter Zijlstra wrote: 
> > On Mon, 2012-08-06 at 17:32 +0200, Mike Galbraith wrote:
> > > Thinko happened during sched migration to kernel/sched, fix it up.
> > 
> > what's the effect.. that is what broke and why are we backporting this
> > to -stable?
> 
> The effect is that for_each_rt_rq() doesn't work, because it's not the
> same task_groups list that groups were added to, it's an empty list, so
> __enable/disable_runtime() and print_rt_stats() don't work, and you
> can't see rt task groups.

It seems to me this makes for excellent changelog material ;-)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch] sched,cgroup_sched: fix up task_groups list
  2012-08-06 20:41     ` Peter Zijlstra
@ 2012-08-07  3:00       ` Mike Galbraith
  2012-08-13 16:51         ` [tip:sched/urgent] sched,cgroup: Fix " tip-bot for Mike Galbraith
  0 siblings, 1 reply; 6+ messages in thread
From: Mike Galbraith @ 2012-08-07  3:00 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: LKML

On Mon, 2012-08-06 at 22:41 +0200, Peter Zijlstra wrote: 
> On Mon, 2012-08-06 at 22:09 +0200, Mike Galbraith wrote:
> > On Mon, 2012-08-06 at 21:04 +0200, Peter Zijlstra wrote: 
> > > On Mon, 2012-08-06 at 17:32 +0200, Mike Galbraith wrote:
> > > > Thinko happened during sched migration to kernel/sched, fix it up.
> > > 
> > > what's the effect.. that is what broke and why are we backporting this
> > > to -stable?
> > 
> > The effect is that for_each_rt_rq() doesn't work, because it's not the
> > same task_groups list that groups were added to, it's an empty list, so
> > __enable/disable_runtime() and print_rt_stats() don't work, and you
> > can't see rt task groups.
> 
> It seems to me this makes for excellent changelog material ;-)

You do have a point there.  Back when I was looking for why the hell rt
task groups went missing, it was "<facepalm> well _duh_" upon finding
the why, and changelog seemed self evident ;-)

sched,cgroup_sched: fix up task_groups list

With multiple instances of task_groups, for_each_rt_rq() is a noop,
no task groups having been added to the rt.c list instance.  This
renders __enable/disable_runtime() and print_rt_stats() noop, the
user (non) visible effect being that rt task groups are missing in
/proc/sched_debug.

Signed-off-by: Mike Galbraith <efault@gmx.de>
Cc: stable@kernel.org # v3.3+
---
 kernel/sched/core.c  |    1 +
 kernel/sched/sched.h |    2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -7246,6 +7246,7 @@ int in_sched_functions(unsigned long add
 
 #ifdef CONFIG_CGROUP_SCHED
 struct task_group root_task_group;
+LIST_HEAD(task_groups);
 #endif
 
 DECLARE_PER_CPU(cpumask_var_t, load_balance_tmpmask);
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -80,7 +80,7 @@ extern struct mutex sched_domains_mutex;
 struct cfs_rq;
 struct rt_rq;
 
-static LIST_HEAD(task_groups);
+extern struct list_head task_groups;
 
 struct cfs_bandwidth {
 #ifdef CONFIG_CFS_BANDWIDTH



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [tip:sched/urgent] sched,cgroup: Fix up task_groups list
  2012-08-07  3:00       ` Mike Galbraith
@ 2012-08-13 16:51         ` tip-bot for Mike Galbraith
  0 siblings, 0 replies; 6+ messages in thread
From: tip-bot for Mike Galbraith @ 2012-08-13 16:51 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, a.p.zijlstra, efault, tglx

Commit-ID:  35cf4e50b16331def6cfcbee11e49270b6db07f5
Gitweb:     http://git.kernel.org/tip/35cf4e50b16331def6cfcbee11e49270b6db07f5
Author:     Mike Galbraith <efault@gmx.de>
AuthorDate: Tue, 7 Aug 2012 05:00:13 +0200
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Mon, 13 Aug 2012 18:41:54 +0200

sched,cgroup: Fix up task_groups list

With multiple instances of task_groups, for_each_rt_rq() is a noop,
no task groups having been added to the rt.c list instance.  This
renders __enable/disable_runtime() and print_rt_stats() noop, the
user (non) visible effect being that rt task groups are missing in
/proc/sched_debug.

Signed-off-by: Mike Galbraith <efault@gmx.de>
Cc: stable@kernel.org # v3.3+
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1344308413.6846.7.camel@marge.simpson.net
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 kernel/sched/core.c  |    1 +
 kernel/sched/sched.h |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index e2c5841..6aa212f 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -7252,6 +7252,7 @@ int in_sched_functions(unsigned long addr)
 
 #ifdef CONFIG_CGROUP_SCHED
 struct task_group root_task_group;
+LIST_HEAD(task_groups);
 #endif
 
 DECLARE_PER_CPU(cpumask_var_t, load_balance_tmpmask);
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 531411b..f6714d0 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -80,7 +80,7 @@ extern struct mutex sched_domains_mutex;
 struct cfs_rq;
 struct rt_rq;
 
-static LIST_HEAD(task_groups);
+extern struct list_head task_groups;
 
 struct cfs_bandwidth {
 #ifdef CONFIG_CFS_BANDWIDTH

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-08-13 16:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-06 15:32 [patch] sched,cgroup_sched: fix up task_groups list Mike Galbraith
2012-08-06 19:04 ` Peter Zijlstra
2012-08-06 20:09   ` Mike Galbraith
2012-08-06 20:41     ` Peter Zijlstra
2012-08-07  3:00       ` Mike Galbraith
2012-08-13 16:51         ` [tip:sched/urgent] sched,cgroup: Fix " tip-bot for Mike Galbraith

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.