Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1638803 > unrolled thread
| Started by | Xunlei Pang <xlpang@redhat.com> |
|---|---|
| First post | 2017-05-10 15:10 +0200 |
| Last post | 2017-05-24 11:00 +0200 |
| Articles | 7 — 5 participants |
Back to article view | Back to linux.kernel
[PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks Xunlei Pang <xlpang@redhat.com> - 2017-05-10 15:10 +0200
Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks Steven Rostedt <rostedt@goodmis.org> - 2017-05-10 15:40 +0200
Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks Xunlei Pang <xpang@redhat.com> - 2017-05-11 03:40 +0200
Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks Xunlei Pang <xpang@redhat.com> - 2017-05-12 05:40 +0200
Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks Juri Lelli <juri.lelli@arm.com> - 2017-05-11 16:30 +0200
Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks Daniel Bristot de Oliveira <bristot@redhat.com> - 2017-05-11 16:40 +0200
Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks Xunlei Pang <xpang@redhat.com> - 2017-05-24 11:00 +0200
| From | Xunlei Pang <xlpang@redhat.com> |
|---|---|
| Date | 2017-05-10 15:10 +0200 |
| Subject | [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks |
| Message-ID | <tFzxo-19m-19@gated-at.bofh.it> |
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
[toc] | [next] | [standalone]
| From | Steven Rostedt <rostedt@goodmis.org> |
|---|---|
| Date | 2017-05-10 15:40 +0200 |
| Subject | Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks |
| Message-ID | <tFA0q-1j1-25@gated-at.bofh.it> |
| In reply to | #1638803 |
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
> }
> }
>
[toc] | [prev] | [next] | [standalone]
| From | Xunlei Pang <xpang@redhat.com> |
|---|---|
| Date | 2017-05-11 03:40 +0200 |
| Subject | Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks |
| Message-ID | <tFLfb-8aU-9@gated-at.bofh.it> |
| In reply to | #1638829 |
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
[toc] | [prev] | [next] | [standalone]
| From | Xunlei Pang <xpang@redhat.com> |
|---|---|
| Date | 2017-05-12 05:40 +0200 |
| Subject | Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks |
| Message-ID | <tG9AS-6YM-15@gated-at.bofh.it> |
| In reply to | #1639146 |
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
[toc] | [prev] | [next] | [standalone]
| From | Juri Lelli <juri.lelli@arm.com> |
|---|---|
| Date | 2017-05-11 16:30 +0200 |
| Subject | Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks |
| Message-ID | <tFXgn-7ta-49@gated-at.bofh.it> |
| In reply to | #1638803 |
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
[toc] | [prev] | [next] | [standalone]
| From | Daniel Bristot de Oliveira <bristot@redhat.com> |
|---|---|
| Date | 2017-05-11 16:40 +0200 |
| Subject | Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks |
| Message-ID | <tFXq4-7wN-61@gated-at.bofh.it> |
| In reply to | #1638803 |
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
[toc] | [prev] | [next] | [standalone]
| From | Xunlei Pang <xpang@redhat.com> |
|---|---|
| Date | 2017-05-24 11:00 +0200 |
| Subject | Re: [PATCH] sched/deadline: Zero out positive runtime after throttling constrained tasks |
| Message-ID | <tKAj8-8uU-11@gated-at.bofh.it> |
| In reply to | #1639617 |
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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web