Re: [PATCH v7 02/15] sched/core: uclamp: Enforce last task UCLAMP_MAX
From: Peter Zijlstra <peterz@infradead.org>
Date: 2019-03-13 14:13:07
Also in:
linux-pm, lkml
From: Peter Zijlstra <peterz@infradead.org>
Date: 2019-03-13 14:13:07
Also in:
linux-pm, lkml
On Fri, Feb 08, 2019 at 10:05:41AM +0000, 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 & UCLAMP_FLAG_IDLE))
+ return;
+
+ WRITE_ONCE(rq->uclamp[clamp_id].value, clamp_value);
+
+ /*
+ * This function is called for both UCLAMP_MIN (before) and UCLAMP_MAX
+ * (after). The idle flag is reset only the second time, when we know
+ * that UCLAMP_MIN has been already updated.Why do we care? That is, what is this comment trying to tell us.
+ */ + if (clamp_id == UCLAMP_MAX) + rq->uclamp_flags &= ~UCLAMP_FLAG_IDLE; +}