Re: [PATCH v7 02/15] sched/core: uclamp: Enforce last task UCLAMP_MAX

2019-03-14 Thread Patrick Bellasi
On 13-Mar 17:29, Suren Baghdasaryan wrote: > On Wed, Mar 13, 2019 at 9:16 AM Patrick Bellasi > wrote: > > > > On 13-Mar 15:12, Peter Zijlstra wrote: > > > On Fri, Feb 08, 2019 at 10:05:41AM +, Patrick Bellasi wrote: > > > > +static inline void uclamp_idle_reset(struct rq *rq, unsigned int >

Re: [PATCH v7 02/15] sched/core: uclamp: Enforce last task UCLAMP_MAX

2019-03-13 Thread Suren Baghdasaryan
On Wed, Mar 13, 2019 at 9:16 AM Patrick Bellasi wrote: > > On 13-Mar 15:12, Peter Zijlstra wrote: > > On Fri, Feb 08, 2019 at 10:05:41AM +, Patrick Bellasi wrote: > > > +static inline void uclamp_idle_reset(struct rq *rq, unsigned int > > > clamp_id, > > > +uns

Re: [PATCH v7 02/15] sched/core: uclamp: Enforce last task UCLAMP_MAX

2019-03-13 Thread Patrick Bellasi
On 13-Mar 18:29, Peter Zijlstra wrote: > On Wed, Mar 13, 2019 at 04:20:51PM +, Patrick Bellasi wrote: > > On 13-Mar 15:10, Peter Zijlstra wrote: > > > On Fri, Feb 08, 2019 at 10:05:41AM +, Patrick Bellasi wrote: > > > > +uclamp_idle_value(struct rq *rq, unsigned int clamp_id, unsigned int

Re: [PATCH v7 02/15] sched/core: uclamp: Enforce last task UCLAMP_MAX

2019-03-13 Thread Peter Zijlstra
On Wed, Mar 13, 2019 at 04:20:51PM +, Patrick Bellasi wrote: > On 13-Mar 15:10, Peter Zijlstra wrote: > > On Fri, Feb 08, 2019 at 10:05:41AM +, Patrick Bellasi wrote: > > > +uclamp_idle_value(struct rq *rq, unsigned int clamp_id, unsigned int > > > clamp_value) > > > +{ > > > + /* > > > +

Re: [PATCH v7 02/15] sched/core: uclamp: Enforce last task UCLAMP_MAX

2019-03-13 Thread Patrick Bellasi
On 13-Mar 15:10, Peter Zijlstra wrote: > On Fri, Feb 08, 2019 at 10:05:41AM +, Patrick Bellasi wrote: > > +uclamp_idle_value(struct rq *rq, unsigned int clamp_id, unsigned int > > clamp_value) > > +{ > > + /* > > +* Avoid blocked utilization pushing up the frequency when we go > > +*

Re: [PATCH v7 02/15] sched/core: uclamp: Enforce last task UCLAMP_MAX

2019-03-13 Thread Patrick Bellasi
On 13-Mar 15:12, Peter Zijlstra wrote: > On Fri, Feb 08, 2019 at 10:05:41AM +, Patrick Bellasi wrote: > > +static inline void uclamp_idle_reset(struct rq *rq, unsigned int clamp_id, > > +unsigned int clamp_value) > > +{ > > + /* Reset max-clamp retention only o

Re: [PATCH v7 02/15] sched/core: uclamp: Enforce last task UCLAMP_MAX

2019-03-13 Thread Peter Zijlstra
On Fri, Feb 08, 2019 at 10:05:41AM +, Patrick Bellasi wrote: > +static inline void uclamp_idle_reset(struct rq *rq, unsigned int clamp_id, > + unsigned int clamp_value) > +{ > + /* Reset max-clamp retention only on idle exit */ > + if (!(rq->uclamp_flags

Re: [PATCH v7 02/15] sched/core: uclamp: Enforce last task UCLAMP_MAX

2019-03-13 Thread Peter Zijlstra
On Fri, Feb 08, 2019 at 10:05:41AM +, Patrick Bellasi wrote: > +uclamp_idle_value(struct rq *rq, unsigned int clamp_id, unsigned int > clamp_value) > +{ > + /* > + * Avoid blocked utilization pushing up the frequency when we go > + * idle (which drops the max-clamp) by retaining

[PATCH v7 02/15] sched/core: uclamp: Enforce last task UCLAMP_MAX

2019-02-08 Thread Patrick Bellasi
When the task sleeps, it removes its max utilization clamp from its CPU. However, the blocked utilization on that CPU can be higher than the max clamp value enforced while the task was running. This allows undesired CPU frequency increases while a CPU is idle, for example, when another CPU on the s