Re: [patch] rt,sched,numa: Move task_numa_free() to __put_task_struct(), which -rt offloads

2014-02-28 Thread Peter Zijlstra
On Fri, Feb 28, 2014 at 07:23:11AM +0100, Mike Galbraith wrote:
> 
> Bad idea:
> [  908.026136]  [] rt_spin_lock_slowlock+0xaa/0x2c0
> [  908.026145]  [] task_numa_free+0x31/0x130
> [  908.026151]  [] finish_task_switch+0xce/0x100
> [  908.026156]  [] thread_return+0x48/0x4ae
> [  908.026160]  [] schedule+0x25/0xa0
> [  908.026163]  [] rt_spin_lock_slowlock+0xd5/0x2c0
> [  908.026170]  [] get_signal_to_deliver+0xaf/0x680
> [  908.026175]  [] do_signal+0x3d/0x5b0
> [  908.026179]  [] do_notify_resume+0x90/0xe0
> [  908.026186]  [] int_signal+0x12/0x17
> [  908.026193]  [<7ff2a388b1d0>] 0x7ff2a388b1cf
> 
> Signed-off-by: Mike Galbraith 

Fair enough; thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] rt,sched,numa: Move task_numa_free() to __put_task_struct(), which -rt offloads

2014-02-28 Thread Peter Zijlstra
On Fri, Feb 28, 2014 at 07:23:11AM +0100, Mike Galbraith wrote:
 
 Bad idea:
 [  908.026136]  [8150ad6a] rt_spin_lock_slowlock+0xaa/0x2c0
 [  908.026145]  [8108f701] task_numa_free+0x31/0x130
 [  908.026151]  [8108121e] finish_task_switch+0xce/0x100
 [  908.026156]  [81509c0a] thread_return+0x48/0x4ae
 [  908.026160]  [8150a095] schedule+0x25/0xa0
 [  908.026163]  [8150ad95] rt_spin_lock_slowlock+0xd5/0x2c0
 [  908.026170]  [810658cf] get_signal_to_deliver+0xaf/0x680
 [  908.026175]  [8100242d] do_signal+0x3d/0x5b0
 [  908.026179]  [81002a30] do_notify_resume+0x90/0xe0
 [  908.026186]  [81513176] int_signal+0x12/0x17
 [  908.026193]  [7ff2a388b1d0] 0x7ff2a388b1cf
 
 Signed-off-by: Mike Galbraith bitbuc...@online.de

Fair enough; thanks!
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[patch] rt,sched,numa: Move task_numa_free() to __put_task_struct(), which -rt offloads

2014-02-27 Thread Mike Galbraith

Bad idea:
[  908.026136]  [] rt_spin_lock_slowlock+0xaa/0x2c0
[  908.026145]  [] task_numa_free+0x31/0x130
[  908.026151]  [] finish_task_switch+0xce/0x100
[  908.026156]  [] thread_return+0x48/0x4ae
[  908.026160]  [] schedule+0x25/0xa0
[  908.026163]  [] rt_spin_lock_slowlock+0xd5/0x2c0
[  908.026170]  [] get_signal_to_deliver+0xaf/0x680
[  908.026175]  [] do_signal+0x3d/0x5b0
[  908.026179]  [] do_notify_resume+0x90/0xe0
[  908.026186]  [] int_signal+0x12/0x17
[  908.026193]  [<7ff2a388b1d0>] 0x7ff2a388b1cf

Signed-off-by: Mike Galbraith 

diff --git a/kernel/fork.c b/kernel/fork.c
index a17621c6cd42..332688e5e7b4 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -237,6 +237,7 @@ void __put_task_struct(struct task_struct *tsk)
WARN_ON(atomic_read(>usage));
WARN_ON(tsk == current);
 
+   task_numa_free(tsk);
security_task_free(tsk);
exit_creds(tsk);
delayacct_tsk_free(tsk);
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 6edbef296ece..94a963fd040e 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2149,8 +2149,6 @@ static void finish_task_switch(struct rq *rq, struct 
task_struct *prev)
if (mm)
mmdrop(mm);
if (unlikely(prev_state == TASK_DEAD)) {
-   task_numa_free(prev);
-
if (prev->sched_class->task_dead)
prev->sched_class->task_dead(prev);
 


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[patch] rt,sched,numa: Move task_numa_free() to __put_task_struct(), which -rt offloads

2014-02-27 Thread Mike Galbraith

Bad idea:
[  908.026136]  [8150ad6a] rt_spin_lock_slowlock+0xaa/0x2c0
[  908.026145]  [8108f701] task_numa_free+0x31/0x130
[  908.026151]  [8108121e] finish_task_switch+0xce/0x100
[  908.026156]  [81509c0a] thread_return+0x48/0x4ae
[  908.026160]  [8150a095] schedule+0x25/0xa0
[  908.026163]  [8150ad95] rt_spin_lock_slowlock+0xd5/0x2c0
[  908.026170]  [810658cf] get_signal_to_deliver+0xaf/0x680
[  908.026175]  [8100242d] do_signal+0x3d/0x5b0
[  908.026179]  [81002a30] do_notify_resume+0x90/0xe0
[  908.026186]  [81513176] int_signal+0x12/0x17
[  908.026193]  [7ff2a388b1d0] 0x7ff2a388b1cf

Signed-off-by: Mike Galbraith bitbuc...@online.de

diff --git a/kernel/fork.c b/kernel/fork.c
index a17621c6cd42..332688e5e7b4 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -237,6 +237,7 @@ void __put_task_struct(struct task_struct *tsk)
WARN_ON(atomic_read(tsk-usage));
WARN_ON(tsk == current);
 
+   task_numa_free(tsk);
security_task_free(tsk);
exit_creds(tsk);
delayacct_tsk_free(tsk);
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 6edbef296ece..94a963fd040e 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2149,8 +2149,6 @@ static void finish_task_switch(struct rq *rq, struct 
task_struct *prev)
if (mm)
mmdrop(mm);
if (unlikely(prev_state == TASK_DEAD)) {
-   task_numa_free(prev);
-
if (prev-sched_class-task_dead)
prev-sched_class-task_dead(prev);
 


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/