* [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks
@ 2017-05-10 13:03 Xunlei Pang
2017-05-10 13:36 ` Steven Rostedt
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Xunlei Pang @ 2017-05-10 13:03 UTC (permalink / raw)
To: linux-kernel
Cc: Peter Zijlstra, Juri Lelli, Ingo Molnar, Steven Rostedt,
Luca Abeni, Xunlei Pang, Daniel Bristot de Oliveira
When a contrained task is throttled by dl_check_constrained_dl(),
it may carry the remaining positive runtime, as a result when
dl_task_timer() fires and calls replenish_dl_entity(), it will
not be replenished correctly due to the positive dl_se->runtime.
This patch assigns its runtime to 0 if positive after throttling.
Fixes: df8eac8cafce ("sched/deadline: Throttle a constrained deadline task activated after the deadline)
Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
Signed-off-by: Xunlei Pang <xlpang@redhat.com>
---
kernel/sched/deadline.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index a2ce590..d3d291e 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -723,6 +723,8 @@ static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se)
if (unlikely(dl_se->dl_boosted || !start_dl_timer(p)))
return;
dl_se->dl_throttled = 1;
+ if (dl_se->runtime > 0)
+ dl_se->runtime = 0;
}
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks
2017-05-10 13:03 [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks Xunlei Pang
@ 2017-05-10 13:36 ` Steven Rostedt
2017-05-11 1:38 ` Xunlei Pang
2017-05-11 14:20 ` Juri Lelli
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Steven Rostedt @ 2017-05-10 13:36 UTC (permalink / raw)
To: Xunlei Pang
Cc: linux-kernel, Peter Zijlstra, Juri Lelli, Ingo Molnar,
Luca Abeni, Daniel Bristot de Oliveira
On Wed, 10 May 2017 21:03:37 +0800
Xunlei Pang <xlpang@redhat.com> wrote:
> When a contrained task is throttled by dl_check_constrained_dl(),
> it may carry the remaining positive runtime, as a result when
> dl_task_timer() fires and calls replenish_dl_entity(), it will
> not be replenished correctly due to the positive dl_se->runtime.
>
> This patch assigns its runtime to 0 if positive after throttling.
>
> Fixes: df8eac8cafce ("sched/deadline: Throttle a constrained deadline task activated after the deadline)
> Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
> Signed-off-by: Xunlei Pang <xlpang@redhat.com>
> ---
> kernel/sched/deadline.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
> index a2ce590..d3d291e 100644
> --- a/kernel/sched/deadline.c
> +++ b/kernel/sched/deadline.c
> @@ -723,6 +723,8 @@ static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se)
> if (unlikely(dl_se->dl_boosted || !start_dl_timer(p)))
> return;
> dl_se->dl_throttled = 1;
> + if (dl_se->runtime > 0)
> + dl_se->runtime = 0;
This makes sense to me, but should we have any accounting for runtime
that was missed due to wakeups and such?
-- Steve
> }
> }
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks
2017-05-10 13:36 ` Steven Rostedt
@ 2017-05-11 1:38 ` Xunlei Pang
2017-05-12 3:35 ` Xunlei Pang
0 siblings, 1 reply; 8+ messages in thread
From: Xunlei Pang @ 2017-05-11 1:38 UTC (permalink / raw)
To: Steven Rostedt, Xunlei Pang
Cc: linux-kernel, Peter Zijlstra, Juri Lelli, Ingo Molnar,
Luca Abeni, Daniel Bristot de Oliveira
On 05/10/2017 at 09:36 PM, Steven Rostedt wrote:
> On Wed, 10 May 2017 21:03:37 +0800
> Xunlei Pang <xlpang@redhat.com> wrote:
>
>> When a contrained task is throttled by dl_check_constrained_dl(),
>> it may carry the remaining positive runtime, as a result when
>> dl_task_timer() fires and calls replenish_dl_entity(), it will
>> not be replenished correctly due to the positive dl_se->runtime.
>>
>> This patch assigns its runtime to 0 if positive after throttling.
>>
>> Fixes: df8eac8cafce ("sched/deadline: Throttle a constrained deadline task activated after the deadline)
>> Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
>> Signed-off-by: Xunlei Pang <xlpang@redhat.com>
>> ---
>> kernel/sched/deadline.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
>> index a2ce590..d3d291e 100644
>> --- a/kernel/sched/deadline.c
>> +++ b/kernel/sched/deadline.c
>> @@ -723,6 +723,8 @@ static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se)
>> if (unlikely(dl_se->dl_boosted || !start_dl_timer(p)))
>> return;
>> dl_se->dl_throttled = 1;
>> + if (dl_se->runtime > 0)
>> + dl_se->runtime = 0;
> This makes sense to me, but should we have any accounting for runtime
> that was missed due to wakeups and such?
It sounds a good idea, will try to add that to "/proc/<pid>/sched".
Looks like we should also catch and handle the deadline miss in dl_runtime_exceeded(),
I guess we can add the accounting together.
Regards,
Xunlei
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks
2017-05-10 13:03 [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks Xunlei Pang
2017-05-10 13:36 ` Steven Rostedt
@ 2017-05-11 14:20 ` Juri Lelli
2017-05-11 14:35 ` Daniel Bristot de Oliveira
2017-06-08 9:29 ` [tip:sched/core] " tip-bot for Xunlei Pang
3 siblings, 0 replies; 8+ messages in thread
From: Juri Lelli @ 2017-05-11 14:20 UTC (permalink / raw)
To: Xunlei Pang
Cc: linux-kernel, Peter Zijlstra, Ingo Molnar, Steven Rostedt,
Luca Abeni, Daniel Bristot de Oliveira
Hi,
On 10/05/17 21:03, Xunlei Pang wrote:
> When a contrained task is throttled by dl_check_constrained_dl(),
> it may carry the remaining positive runtime, as a result when
> dl_task_timer() fires and calls replenish_dl_entity(), it will
> not be replenished correctly due to the positive dl_se->runtime.
>
> This patch assigns its runtime to 0 if positive after throttling.
>
> Fixes: df8eac8cafce ("sched/deadline: Throttle a constrained deadline task activated after the deadline)
> Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
> Signed-off-by: Xunlei Pang <xlpang@redhat.com>
> ---
> kernel/sched/deadline.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
> index a2ce590..d3d291e 100644
> --- a/kernel/sched/deadline.c
> +++ b/kernel/sched/deadline.c
> @@ -723,6 +723,8 @@ static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se)
> if (unlikely(dl_se->dl_boosted || !start_dl_timer(p)))
> return;
> dl_se->dl_throttled = 1;
> + if (dl_se->runtime > 0)
> + dl_se->runtime = 0;
> }
Looks good to me. Although, we could alternatively add a flag and use
that in replenish_dl_entity() to reset runtime (as we do for dl_yielded).
Flags need refactoring, though.
Thanks,
- Juri
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks
2017-05-10 13:03 [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks Xunlei Pang
2017-05-10 13:36 ` Steven Rostedt
2017-05-11 14:20 ` Juri Lelli
@ 2017-05-11 14:35 ` Daniel Bristot de Oliveira
2017-05-24 8:51 ` Xunlei Pang
2017-06-08 9:29 ` [tip:sched/core] " tip-bot for Xunlei Pang
3 siblings, 1 reply; 8+ messages in thread
From: Daniel Bristot de Oliveira @ 2017-05-11 14:35 UTC (permalink / raw)
To: Xunlei Pang, linux-kernel
Cc: Peter Zijlstra, Juri Lelli, Ingo Molnar, Steven Rostedt, Luca Abeni
On 05/10/2017 03:03 PM, Xunlei Pang wrote:
> When a contrained task is throttled by dl_check_constrained_dl(),
> it may carry the remaining positive runtime, as a result when
> dl_task_timer() fires and calls replenish_dl_entity(), it will
> not be replenished correctly due to the positive dl_se->runtime.
>
> This patch assigns its runtime to 0 if positive after throttling.
>
> Fixes: df8eac8cafce ("sched/deadline: Throttle a constrained deadline task activated after the deadline)
> Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
> Signed-off-by: Xunlei Pang <xlpang@redhat.com>
> ---
> kernel/sched/deadline.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
> index a2ce590..d3d291e 100644
> --- a/kernel/sched/deadline.c
> +++ b/kernel/sched/deadline.c
> @@ -723,6 +723,8 @@ static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se)
> if (unlikely(dl_se->dl_boosted || !start_dl_timer(p)))
> return;
> dl_se->dl_throttled = 1;
> + if (dl_se->runtime > 0)
> + dl_se->runtime = 0;
> }
> }
Acked-by: Daniel Bristot de Oliveira <bristot@redhat.com>
-- Daniel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks
2017-05-11 1:38 ` Xunlei Pang
@ 2017-05-12 3:35 ` Xunlei Pang
0 siblings, 0 replies; 8+ messages in thread
From: Xunlei Pang @ 2017-05-12 3:35 UTC (permalink / raw)
To: Steven Rostedt, Xunlei Pang
Cc: linux-kernel, Peter Zijlstra, Juri Lelli, Ingo Molnar,
Luca Abeni, Daniel Bristot de Oliveira
On 05/11/2017 at 09:38 AM, Xunlei Pang wrote:
> On 05/10/2017 at 09:36 PM, Steven Rostedt wrote:
>> On Wed, 10 May 2017 21:03:37 +0800
>> Xunlei Pang <xlpang@redhat.com> wrote:
>>
>>> When a contrained task is throttled by dl_check_constrained_dl(),
>>> it may carry the remaining positive runtime, as a result when
>>> dl_task_timer() fires and calls replenish_dl_entity(), it will
>>> not be replenished correctly due to the positive dl_se->runtime.
>>>
>>> This patch assigns its runtime to 0 if positive after throttling.
>>>
>>> Fixes: df8eac8cafce ("sched/deadline: Throttle a constrained deadline task activated after the deadline)
>>> Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
>>> Signed-off-by: Xunlei Pang <xlpang@redhat.com>
>>> ---
>>> kernel/sched/deadline.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
>>> index a2ce590..d3d291e 100644
>>> --- a/kernel/sched/deadline.c
>>> +++ b/kernel/sched/deadline.c
>>> @@ -723,6 +723,8 @@ static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se)
>>> if (unlikely(dl_se->dl_boosted || !start_dl_timer(p)))
>>> return;
>>> dl_se->dl_throttled = 1;
>>> + if (dl_se->runtime > 0)
>>> + dl_se->runtime = 0;
>> This makes sense to me, but should we have any accounting for runtime
>> that was missed due to wakeups and such?
> It sounds a good idea, will try to add that to "/proc/<pid>/sched".
>
> Looks like we should also catch and handle the deadline miss in dl_runtime_exceeded(),
> I guess we can add the accounting together.
Hi all,
Thanks for all your valuable review!
FYI: I just sent v2 added two more patches.
Regards,
Xunlei
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks
2017-05-11 14:35 ` Daniel Bristot de Oliveira
@ 2017-05-24 8:51 ` Xunlei Pang
0 siblings, 0 replies; 8+ messages in thread
From: Xunlei Pang @ 2017-05-24 8:51 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Daniel Bristot de Oliveira, Xunlei Pang, linux-kernel,
Juri Lelli, Ingo Molnar, Steven Rostedt, Luca Abeni
Hi Peter,
On 05/11/2017 at 10:35 PM, Daniel Bristot de Oliveira wrote:
> On 05/10/2017 03:03 PM, Xunlei Pang wrote:
>> When a contrained task is throttled by dl_check_constrained_dl(),
>> it may carry the remaining positive runtime, as a result when
>> dl_task_timer() fires and calls replenish_dl_entity(), it will
>> not be replenished correctly due to the positive dl_se->runtime.
>>
>> This patch assigns its runtime to 0 if positive after throttling.
>>
>> Fixes: df8eac8cafce ("sched/deadline: Throttle a constrained deadline task activated after the deadline)
>> Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
>> Signed-off-by: Xunlei Pang <xlpang@redhat.com>
>> ---
>> kernel/sched/deadline.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
>> index a2ce590..d3d291e 100644
>> --- a/kernel/sched/deadline.c
>> +++ b/kernel/sched/deadline.c
>> @@ -723,6 +723,8 @@ static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se)
>> if (unlikely(dl_se->dl_boosted || !start_dl_timer(p)))
>> return;
>> dl_se->dl_throttled = 1;
>> + if (dl_se->runtime > 0)
>> + dl_se->runtime = 0;
>> }
>> }
> Acked-by: Daniel Bristot de Oliveira <bristot@redhat.com>
Could you please have this one? Thanks!
Regards,
Xunlei
^ permalink raw reply [flat|nested] 8+ messages in thread
* [tip:sched/core] sched/deadline: Zero out positive runtime after throttling constrained tasks
2017-05-10 13:03 [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks Xunlei Pang
` (2 preceding siblings ...)
2017-05-11 14:35 ` Daniel Bristot de Oliveira
@ 2017-06-08 9:29 ` tip-bot for Xunlei Pang
3 siblings, 0 replies; 8+ messages in thread
From: tip-bot for Xunlei Pang @ 2017-06-08 9:29 UTC (permalink / raw)
To: linux-tip-commits
Cc: tglx, efault, juri.lelli, bristot, xlpang, linux-kernel,
torvalds, hpa, peterz, luca.abeni, rostedt, mingo
Commit-ID: ae83b56a56f8d9643dedbee86b457fa1c5d42f59
Gitweb: http://git.kernel.org/tip/ae83b56a56f8d9643dedbee86b457fa1c5d42f59
Author: Xunlei Pang <xlpang@redhat.com>
AuthorDate: Wed, 10 May 2017 21:03:37 +0800
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 8 Jun 2017 10:31:58 +0200
sched/deadline: Zero out positive runtime after throttling constrained tasks
When a contrained task is throttled by dl_check_constrained_dl(),
it may carry the remaining positive runtime, as a result when
dl_task_timer() fires and calls replenish_dl_entity(), it will
not be replenished correctly due to the positive dl_se->runtime.
This patch assigns its runtime to 0 if positive after throttling.
Signed-off-by: Xunlei Pang <xlpang@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Daniel Bristot de Oliveira <bristot@redhat.com>
Cc: Juri Lelli <juri.lelli@arm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Luca Abeni <luca.abeni@santannapisa.it>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: df8eac8cafce ("sched/deadline: Throttle a constrained deadline task activated after the deadline)
Link: http://lkml.kernel.org/r/1494421417-27550-1-git-send-email-xlpang@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
kernel/sched/deadline.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index e3b25df..54302cf 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -941,6 +941,8 @@ static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se)
if (unlikely(dl_se->dl_boosted || !start_dl_timer(p)))
return;
dl_se->dl_throttled = 1;
+ if (dl_se->runtime > 0)
+ dl_se->runtime = 0;
}
}
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-06-08 9:32 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-10 13:03 [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks Xunlei Pang
2017-05-10 13:36 ` Steven Rostedt
2017-05-11 1:38 ` Xunlei Pang
2017-05-12 3:35 ` Xunlei Pang
2017-05-11 14:20 ` Juri Lelli
2017-05-11 14:35 ` Daniel Bristot de Oliveira
2017-05-24 8:51 ` Xunlei Pang
2017-06-08 9:29 ` [tip:sched/core] " tip-bot for Xunlei Pang
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).