Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations

2019-07-08 Thread Dietmar Eggemann
On 7/8/19 9:41 AM, luca abeni wrote: > Hi Dietmar, > > On Thu, 4 Jul 2019 14:05:22 +0200 > Dietmar Eggemann wrote: > >> On 5/6/19 6:48 AM, Luca Abeni wrote: >> >> [...] >> >>> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c >>> index 5b981eeeb944..3436f3d8fa8f 100644 >>> --- a/ker

Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations

2019-07-08 Thread luca abeni
Hi Dietmar, On Thu, 4 Jul 2019 14:05:22 +0200 Dietmar Eggemann wrote: > On 5/6/19 6:48 AM, Luca Abeni wrote: > > [...] > > > diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c > > index 5b981eeeb944..3436f3d8fa8f 100644 > > --- a/kernel/sched/deadline.c > > +++ b/kernel/sched/deadl

Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations

2019-07-04 Thread Dietmar Eggemann
On 5/6/19 6:48 AM, Luca Abeni wrote: [...] > diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c > index 5b981eeeb944..3436f3d8fa8f 100644 > --- a/kernel/sched/deadline.c > +++ b/kernel/sched/deadline.c > @@ -1584,6 +1584,9 @@ select_task_rq_dl(struct task_struct *p, int cpu, int > sd

Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations

2019-05-08 Thread luca abeni
On Wed, 8 May 2019 10:04:36 +0200 Juri Lelli wrote: > Hi Luca, > > On 06/05/19 06:48, Luca Abeni wrote: > > From: luca abeni > > > > Currently, the SCHED_DEADLINE scheduler uses a global EDF scheduling > > algorithm, migrating tasks to CPU cores without considering the core > > capacity and th

Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations

2019-05-08 Thread Juri Lelli
Hi Luca, On 06/05/19 06:48, Luca Abeni wrote: > From: luca abeni > > Currently, the SCHED_DEADLINE scheduler uses a global EDF scheduling > algorithm, migrating tasks to CPU cores without considering the core > capacity and the task utilization. This works well on homogeneous > systems (SCHED_DE

Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations

2019-05-07 Thread Quentin Perret
On Tuesday 07 May 2019 at 16:17:33 (+0200), luca abeni wrote: > Hi Quentin, > > On Tue, 7 May 2019 14:35:28 +0100 > Quentin Perret wrote: > > > Hi Luca, > > > > On Monday 06 May 2019 at 06:48:32 (+0200), Luca Abeni wrote: > > > +static inline int dl_task_fit(const struct sched_dl_entity *dl_se,

Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations

2019-05-07 Thread Quentin Perret
On Tuesday 07 May 2019 at 16:41:27 (+0200), luca abeni wrote: > I think I added this modification because I arrived to the conclusion > that schedutils does not perform this rescaling (at least, I think it > did not perform it when I wrote the patch :) Right, I'm not sure what was the behaviour be

Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations

2019-05-07 Thread luca abeni
Hi, On Tue, 7 May 2019 15:10:50 +0100 Quentin Perret wrote: > On Monday 06 May 2019 at 06:48:32 (+0200), Luca Abeni wrote: > > static inline unsigned long cpu_bw_dl(struct rq *rq) > > { > > - return (rq->dl.running_bw * SCHED_CAPACITY_SCALE) >> > > BW_SHIFT; > > + unsigned long res; > > +

Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations

2019-05-07 Thread luca abeni
Hi Quentin, On Tue, 7 May 2019 14:35:28 +0100 Quentin Perret wrote: > Hi Luca, > > On Monday 06 May 2019 at 06:48:32 (+0200), Luca Abeni wrote: > > +static inline int dl_task_fit(const struct sched_dl_entity *dl_se, > > + int cpu, u64 *c) > > +{ > > + u64 cap = (arch_s

Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations

2019-05-07 Thread Quentin Perret
On Monday 06 May 2019 at 06:48:32 (+0200), Luca Abeni wrote: > static inline unsigned long cpu_bw_dl(struct rq *rq) > { > - return (rq->dl.running_bw * SCHED_CAPACITY_SCALE) >> BW_SHIFT; > + unsigned long res; > + > + res = (rq->dl.running_bw * SCHED_CAPACITY_SCALE) >> BW_SHIFT; > + >

Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations

2019-05-07 Thread Quentin Perret
Hi Luca, On Monday 06 May 2019 at 06:48:32 (+0200), Luca Abeni wrote: > +static inline int dl_task_fit(const struct sched_dl_entity *dl_se, > + int cpu, u64 *c) > +{ > + u64 cap = (arch_scale_cpu_capacity(NULL, cpu) * > arch_scale_freq_capacity(cpu)) >> SCHED_CAPACIT

[RFC PATCH 2/6] sched/dl: Capacity-aware migrations

2019-05-05 Thread Luca Abeni
From: luca abeni Currently, the SCHED_DEADLINE scheduler uses a global EDF scheduling algorithm, migrating tasks to CPU cores without considering the core capacity and the task utilization. This works well on homogeneous systems (SCHED_DEADLINE tasks are guaranteed to have a bounded tardiness), b