Re: [PATCH v4 04/10] sched/fair: Dynamically update cfs_overload_cpus

2018-12-08 Thread Valentin Schneider
On 07/12/2018 22:35, Steven Sistare wrote: [...] >>> @@ -4468,8 +4495,12 @@ static void throttle_cfs_rq(struct cfs_rq *cfs_rq) >>> dequeue = 0; >>> } >>> >>> - if (!se) >>> + if (!se) { >>> sub_nr_running(rq, task_delta); >>> + if (prev_nr >= 2

Re: [PATCH v4 04/10] sched/fair: Dynamically update cfs_overload_cpus

2018-12-08 Thread Valentin Schneider
On 07/12/2018 22:35, Steven Sistare wrote: [...] >>> @@ -4468,8 +4495,12 @@ static void throttle_cfs_rq(struct cfs_rq *cfs_rq) >>> dequeue = 0; >>> } >>> >>> - if (!se) >>> + if (!se) { >>> sub_nr_running(rq, task_delta); >>> + if (prev_nr >= 2

Re: [PATCH v4 04/10] sched/fair: Dynamically update cfs_overload_cpus

2018-12-07 Thread Steven Sistare
On 12/7/2018 3:20 PM, Valentin Schneider wrote: > Hi Steve, > > On 06/12/2018 21:28, Steve Sistare wrote: > [...] >> @@ -3724,6 +3725,28 @@ static inline void update_misfit_status(struct >> task_struct *p, struct rq *rq) >> rq->misfit_task_load = task_h_load(p); >> } >> >> +static void

Re: [PATCH v4 04/10] sched/fair: Dynamically update cfs_overload_cpus

2018-12-07 Thread Steven Sistare
On 12/7/2018 3:20 PM, Valentin Schneider wrote: > Hi Steve, > > On 06/12/2018 21:28, Steve Sistare wrote: > [...] >> @@ -3724,6 +3725,28 @@ static inline void update_misfit_status(struct >> task_struct *p, struct rq *rq) >> rq->misfit_task_load = task_h_load(p); >> } >> >> +static void

Re: [PATCH v4 04/10] sched/fair: Dynamically update cfs_overload_cpus

2018-12-07 Thread Valentin Schneider
Hi Steve, On 06/12/2018 21:28, Steve Sistare wrote: [...] > @@ -3724,6 +3725,28 @@ static inline void update_misfit_status(struct > task_struct *p, struct rq *rq) > rq->misfit_task_load = task_h_load(p); > } > > +static void overload_clear(struct rq *rq) Nitpicky nit:

Re: [PATCH v4 04/10] sched/fair: Dynamically update cfs_overload_cpus

2018-12-07 Thread Valentin Schneider
Hi Steve, On 06/12/2018 21:28, Steve Sistare wrote: [...] > @@ -3724,6 +3725,28 @@ static inline void update_misfit_status(struct > task_struct *p, struct rq *rq) > rq->misfit_task_load = task_h_load(p); > } > > +static void overload_clear(struct rq *rq) Nitpicky nit:

[PATCH v4 04/10] sched/fair: Dynamically update cfs_overload_cpus

2018-12-06 Thread Steve Sistare
An overloaded CPU has more than 1 runnable task. When a CFS task wakes on a CPU, if h_nr_running transitions from 1 to more, then set the CPU in the cfs_overload_cpus bitmap. When a CFS task sleeps, if h_nr_running transitions from 2 to less, then clear the CPU in cfs_overload_cpus.

[PATCH v4 04/10] sched/fair: Dynamically update cfs_overload_cpus

2018-12-06 Thread Steve Sistare
An overloaded CPU has more than 1 runnable task. When a CFS task wakes on a CPU, if h_nr_running transitions from 1 to more, then set the CPU in the cfs_overload_cpus bitmap. When a CFS task sleeps, if h_nr_running transitions from 2 to less, then clear the CPU in cfs_overload_cpus.