Re: [PATCH RFC] sched/deadline: Use the revised wakeup rule for suspending constrained dl tasks

2017-05-11 Thread Daniel Bristot de Oliveira
On 05/04/2017 04:26 PM, Peter Zijlstra wrote: > On Thu, May 04, 2017 at 04:17:21PM +0200, Peter Zijlstra wrote: >> We use two difference CBS rules: >> >> 1) the original CBS rule for implicit deadline tasks; >> 2) the revised CBS rule for constrained deadline tasks. >>> @@ -500,6 +550,14 @@ stati

Re: [PATCH RFC] sched/deadline: Use the revised wakeup rule for suspending constrained dl tasks

2017-05-11 Thread Daniel Bristot de Oliveira
On 05/04/2017 04:23 PM, Peter Zijlstra wrote: > On Thu, May 04, 2017 at 04:17:21PM +0200, Peter Zijlstra wrote: >> On Mon, Apr 24, 2017 at 05:18:35PM +0200, Daniel Bristot de Oliveira wrote: >>> +static void >>> +update_dl_revised_wakeup(struct sched_dl_entity *dl_se, struct rq *rq) >>> +{ >>> +

Re: [PATCH RFC] sched/deadline: Use the revised wakeup rule for suspending constrained dl tasks

2017-05-11 Thread Daniel Bristot de Oliveira
On 05/04/2017 04:17 PM, Peter Zijlstra wrote: > On Mon, Apr 24, 2017 at 05:18:35PM +0200, Daniel Bristot de Oliveira wrote: >> We have been facing some problems with self-suspending constrained >> deadline tasks. The main reason is that the original CBS was not >> designed for such sort of tasks. >

Re: [PATCH RFC] sched/deadline: Use the revised wakeup rule for suspending constrained dl tasks

2017-05-04 Thread Peter Zijlstra
On Thu, May 04, 2017 at 04:17:21PM +0200, Peter Zijlstra wrote: > On Mon, Apr 24, 2017 at 05:18:35PM +0200, Daniel Bristot de Oliveira wrote: > > +static void > > +update_dl_revised_wakeup(struct sched_dl_entity *dl_se, struct rq *rq) > > +{ > > + u64 density = div64_u64(dl_se->dl_runtime << 20,

Re: [PATCH RFC] sched/deadline: Use the revised wakeup rule for suspending constrained dl tasks

2017-05-04 Thread Peter Zijlstra
On Thu, May 04, 2017 at 04:17:21PM +0200, Peter Zijlstra wrote: > We use two difference CBS rules: > > 1) the original CBS rule for implicit deadline tasks; > 2) the revised CBS rule for constrained deadline tasks. > > @@ -500,6 +550,14 @@ static void update_dl_entity(struct sched_dl_entity >

Re: [PATCH RFC] sched/deadline: Use the revised wakeup rule for suspending constrained dl tasks

2017-05-04 Thread Peter Zijlstra
On Mon, Apr 24, 2017 at 05:18:35PM +0200, Daniel Bristot de Oliveira wrote: > We have been facing some problems with self-suspending constrained > deadline tasks. The main reason is that the original CBS was not > designed for such sort of tasks. > > One problem reported by Xunlei Pang takes place

Re: [PATCH RFC] sched/deadline: Use the revised wakeup rule for suspending constrained dl tasks

2017-04-24 Thread Daniel Bristot de Oliveira
On 04/24/2017 05:18 PM, Daniel Bristot de Oliveira wrote: > remaining runtime = 4 > laxity = 5 Oops! The laxity is 5... so... > Knowing the laxity of a task (deadline - t), it is possible to move > it to the other side of the equality, thus enabling to define max > remaining runtime a task can

Re: [PATCH RFC] sched/deadline: Use the revised wakeup rule for suspending constrained dl tasks

2017-04-24 Thread Daniel Bristot de Oliveira
On 04/24/2017 07:00 PM, Steven Rostedt wrote: >> +static void >> +update_dl_revised_wakeup(struct sched_dl_entity *dl_se, struct rq *rq) >> +{ >> +u64 density = div64_u64(dl_se->dl_runtime << 20, dl_se->dl_deadline); > Hmm, dl_runtime and dl_deadline don't get updated that often. Can't we > sim

Re: [PATCH RFC] sched/deadline: Use the revised wakeup rule for suspending constrained dl tasks

2017-04-24 Thread Steven Rostedt
On Mon, 24 Apr 2017 17:18:35 +0200 Daniel Bristot de Oliveira wrote: > We have been facing some problems with self-suspending constrained > deadline tasks. The main reason is that the original CBS was not > designed for such sort of tasks. > > One problem reported by Xunlei Pang takes place when

[PATCH RFC] sched/deadline: Use the revised wakeup rule for suspending constrained dl tasks

2017-04-24 Thread Daniel Bristot de Oliveira
We have been facing some problems with self-suspending constrained deadline tasks. The main reason is that the original CBS was not designed for such sort of tasks. One problem reported by Xunlei Pang takes place when a task suspends, and then is awakened before the deadline, but so close to the d