* [PATCH] sched/deadline: do not try to push tasks if pinned task switches to dl
@ 2014-10-10 2:43 Wanpeng Li
2014-10-10 10:10 ` Peter Zijlstra
0 siblings, 1 reply; 6+ messages in thread
From: Wanpeng Li @ 2014-10-10 2:43 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra
Cc: Juri Lelli, Kirill V Tkhai, Steven Rostedt, linux-kernel,
Wanpeng Li
As Kirill mentioned(https://lkml.org/lkml/2013/1/29/118):
| If rq has already had 2 or more pushable tasks and we try to add a
| pinned task then call of push_rt_task will just waste a time.
Just switched pinned task is not able to be pushed. If the rq had had
several dl tasks before they have already been considered as candidates
to be pushed (or pulled). This patch does the same behavior as rt class
which introduced by commit 104479 (sched/rt: Do not try to push tasks
if pinned task switches to RT).
Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
---
kernel/sched/deadline.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index abfaf3d..cf7c9b6 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -1603,7 +1603,8 @@ static void switched_to_dl(struct rq *rq, struct task_struct *p)
if (task_on_rq_queued(p) && rq->curr != p) {
#ifdef CONFIG_SMP
- if (rq->dl.overloaded && push_dl_task(rq) && rq != task_rq(p))
+ if (p->nr_cpus_allowed > 1 && rq->dl.overloaded
+ && push_dl_task(rq) && rq != task_rq(p))
/* Only reschedule if pushing failed */
check_resched = 0;
#endif /* CONFIG_SMP */
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] sched/deadline: do not try to push tasks if pinned task switches to dl
2014-10-10 2:43 [PATCH] sched/deadline: do not try to push tasks if pinned task switches to dl Wanpeng Li
@ 2014-10-10 10:10 ` Peter Zijlstra
2014-10-10 10:26 ` Wanpeng Li
0 siblings, 1 reply; 6+ messages in thread
From: Peter Zijlstra @ 2014-10-10 10:10 UTC (permalink / raw)
To: Wanpeng Li
Cc: Ingo Molnar, Juri Lelli, Kirill V Tkhai, Steven Rostedt,
linux-kernel
On Fri, Oct 10, 2014 at 10:43:17AM +0800, Wanpeng Li wrote:
> As Kirill mentioned(https://lkml.org/lkml/2013/1/29/118):
> | If rq has already had 2 or more pushable tasks and we try to add a
> | pinned task then call of push_rt_task will just waste a time.
>
> Just switched pinned task is not able to be pushed. If the rq had had
> several dl tasks before they have already been considered as candidates
> to be pushed (or pulled). This patch does the same behavior as rt class
> which introduced by commit 104479 (sched/rt: Do not try to push tasks
> if pinned task switches to RT).
Checkpatch rightly complains:
ERROR: Please use 12 or more chars for the git commit ID like: 'commit 10447917551e ("sched/rt: Do not try to push tasks if pinned task switches to RT")'
#12:
which introduced by commit 104479 (sched/rt: Do not try to push tasks
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sched/deadline: do not try to push tasks if pinned task switches to dl
2014-10-10 10:10 ` Peter Zijlstra
@ 2014-10-10 10:26 ` Wanpeng Li
2014-10-10 10:56 ` Peter Zijlstra
2014-10-20 15:42 ` Steven Rostedt
0 siblings, 2 replies; 6+ messages in thread
From: Wanpeng Li @ 2014-10-10 10:26 UTC (permalink / raw)
To: Peter Zijlstra, Wanpeng Li
Cc: Ingo Molnar, Juri Lelli, Kirill V Tkhai, Steven Rostedt,
linux-kernel
于 10/10/14, 6:10 PM, Peter Zijlstra 写道:
> On Fri, Oct 10, 2014 at 10:43:17AM +0800, Wanpeng Li wrote:
>> As Kirill mentioned(https://lkml.org/lkml/2013/1/29/118):
>> | If rq has already had 2 or more pushable tasks and we try to add a
>> | pinned task then call of push_rt_task will just waste a time.
>>
>> Just switched pinned task is not able to be pushed. If the rq had had
>> several dl tasks before they have already been considered as candidates
>> to be pushed (or pulled). This patch does the same behavior as rt class
>> which introduced by commit 104479 (sched/rt: Do not try to push tasks
>> if pinned task switches to RT).
> Checkpatch rightly complains:
>
> ERROR: Please use 12 or more chars for the git commit ID like: 'commit 10447917551e ("sched/rt: Do not try to push tasks if pinned task switches to RT")'
> #12:
> which introduced by commit 104479 (sched/rt: Do not try to push tasks
I also got this warning before send out the patch, however, I check 6
chars is enough for this commit. Anyway, I will send a newer version later.
Regards,
Wanpeng Li
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sched/deadline: do not try to push tasks if pinned task switches to dl
2014-10-10 10:26 ` Wanpeng Li
@ 2014-10-10 10:56 ` Peter Zijlstra
2014-10-10 11:00 ` Wanpeng Li
2014-10-20 15:42 ` Steven Rostedt
1 sibling, 1 reply; 6+ messages in thread
From: Peter Zijlstra @ 2014-10-10 10:56 UTC (permalink / raw)
To: Wanpeng Li
Cc: Wanpeng Li, Ingo Molnar, Juri Lelli, Kirill V Tkhai,
Steven Rostedt, linux-kernel
On Fri, Oct 10, 2014 at 06:26:42PM +0800, Wanpeng Li wrote:
>
> 于 10/10/14, 6:10 PM, Peter Zijlstra 写道:
> >On Fri, Oct 10, 2014 at 10:43:17AM +0800, Wanpeng Li wrote:
> >>As Kirill mentioned(https://lkml.org/lkml/2013/1/29/118):
> >>| If rq has already had 2 or more pushable tasks and we try to add a
> >>| pinned task then call of push_rt_task will just waste a time.
> >>
> >>Just switched pinned task is not able to be pushed. If the rq had had
> >>several dl tasks before they have already been considered as candidates
> >>to be pushed (or pulled). This patch does the same behavior as rt class
> >>which introduced by commit 104479 (sched/rt: Do not try to push tasks
> >>if pinned task switches to RT).
> >Checkpatch rightly complains:
> >
> >ERROR: Please use 12 or more chars for the git commit ID like: 'commit 10447917551e ("sched/rt: Do not try to push tasks if pinned task switches to RT")'
> >#12:
> >which introduced by commit 104479 (sched/rt: Do not try to push tasks
>
> I also got this warning before send out the patch, however, I check 6 chars
> is enough for this commit. Anyway, I will send a newer version later.
It is currently, it might not be in the future. I've already had hash
collisions with 8 char hashes. And the fact thats it in the changelog
means it can (and therefore) will be referenced at some point in the
future. If by that point there is a collision...
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sched/deadline: do not try to push tasks if pinned task switches to dl
2014-10-10 10:56 ` Peter Zijlstra
@ 2014-10-10 11:00 ` Wanpeng Li
0 siblings, 0 replies; 6+ messages in thread
From: Wanpeng Li @ 2014-10-10 11:00 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Wanpeng Li, Ingo Molnar, Juri Lelli, Kirill V Tkhai,
Steven Rostedt, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1532 bytes --]
于 10/10/14, 6:56 PM, Peter Zijlstra 写道:
> On Fri, Oct 10, 2014 at 06:26:42PM +0800, Wanpeng Li wrote:
>> 于 10/10/14, 6:10 PM, Peter Zijlstra 写道:
>>> On Fri, Oct 10, 2014 at 10:43:17AM +0800, Wanpeng Li wrote:
>>>> As Kirill mentioned(https://lkml.org/lkml/2013/1/29/118):
>>>> | If rq has already had 2 or more pushable tasks and we try to add a
>>>> | pinned task then call of push_rt_task will just waste a time.
>>>>
>>>> Just switched pinned task is not able to be pushed. If the rq had had
>>>> several dl tasks before they have already been considered as candidates
>>>> to be pushed (or pulled). This patch does the same behavior as rt class
>>>> which introduced by commit 104479 (sched/rt: Do not try to push tasks
>>>> if pinned task switches to RT).
>>> Checkpatch rightly complains:
>>>
>>> ERROR: Please use 12 or more chars for the git commit ID like: 'commit 10447917551e ("sched/rt: Do not try to push tasks if pinned task switches to RT")'
>>> #12:
>>> which introduced by commit 104479 (sched/rt: Do not try to push tasks
>> I also got this warning before send out the patch, however, I check 6 chars
>> is enough for this commit. Anyway, I will send a newer version later.
> It is currently, it might not be in the future. I've already had hash
> collisions with 8 char hashes. And the fact thats it in the changelog
> means it can (and therefore) will be referenced at some point in the
> future. If by that point there is a collision...
Got it, thanks for your pointing out.
Regards,
Wanpeng Li
[-- Attachment #2: 0001-sched-deadline-do-not-try-to-push-tasks-if-pinned-ta.patch --]
[-- Type: text/plain, Size: 1540 bytes --]
From 247460238414744119265d6aa92f4bf006b060aa Mon Sep 17 00:00:00 2001
From: Wanpeng Li <wanpeng.li@linux.intel.com>
Date: Fri, 10 Oct 2014 10:09:37 +0800
Subject: [PATCH v2] sched/deadline: do not try to push tasks if pinned task switches to dl
As Kirill mentioned(https://lkml.org/lkml/2013/1/29/118):
| If rq has already had 2 or more pushable tasks and we try to add a
| pinned task then call of push_rt_task will just waste a time.
Just switched pinned task is not able to be pushed. If the rq had had
several dl tasks before they have already been considered as candidates
to be pushed (or pulled). This patch done the same behavior as rt class
which introduced by commit 10447917551e ("sched/rt: Do not try to push
tasks if pinned task switches to RT").
Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
---
v1 -> v2:
* use 12 or more chars for the git commit ID
kernel/sched/deadline.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index abfaf3d..cf7c9b6 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -1603,7 +1603,8 @@ static void switched_to_dl(struct rq *rq, struct task_struct *p)
if (task_on_rq_queued(p) && rq->curr != p) {
#ifdef CONFIG_SMP
- if (rq->dl.overloaded && push_dl_task(rq) && rq != task_rq(p))
+ if (p->nr_cpus_allowed > 1 && rq->dl.overloaded
+ && push_dl_task(rq) && rq != task_rq(p))
/* Only reschedule if pushing failed */
check_resched = 0;
#endif /* CONFIG_SMP */
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] sched/deadline: do not try to push tasks if pinned task switches to dl
2014-10-10 10:26 ` Wanpeng Li
2014-10-10 10:56 ` Peter Zijlstra
@ 2014-10-20 15:42 ` Steven Rostedt
1 sibling, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2014-10-20 15:42 UTC (permalink / raw)
To: Wanpeng Li
Cc: Peter Zijlstra, Wanpeng Li, Ingo Molnar, Juri Lelli,
Kirill V Tkhai, linux-kernel
On Fri, 10 Oct 2014 18:26:42 +0800
Wanpeng Li <kernellwp@gmail.com> wrote:
> > ERROR: Please use 12 or more chars for the git commit ID like: 'commit 10447917551e ("sched/rt: Do not try to push tasks if pinned task switches to RT")'
> > #12:
> > which introduced by commit 104479 (sched/rt: Do not try to push tasks
>
> I also got this warning before send out the patch, however, I check 6
> chars is enough for this commit. Anyway, I will send a newer version later.
6 chars may be enough today, but there's no guarantee that it will be
enough tomorrow, when someone reads this changelog years from now.
-- Steve
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-10-20 15:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-10 2:43 [PATCH] sched/deadline: do not try to push tasks if pinned task switches to dl Wanpeng Li
2014-10-10 10:10 ` Peter Zijlstra
2014-10-10 10:26 ` Wanpeng Li
2014-10-10 10:56 ` Peter Zijlstra
2014-10-10 11:00 ` Wanpeng Li
2014-10-20 15:42 ` Steven Rostedt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).