[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160119140036.GG6344@twins.programming.kicks-ass.net>
Date: Tue, 19 Jan 2016 15:00:36 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Michael Turquette <mturquette@...libre.com>
Cc: Viresh Kumar <viresh.kumar@...aro.org>,
Juri Lelli <juri.lelli@....com>, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org, rjw@...ysocki.net,
steve.muckle@...aro.org, vincent.guittot@...aro.org,
morten.rasmussen@....com, dietmar.eggemann@....com
Subject: Re: [RFC PATCH 18/19] cpufreq: remove transition_lock
On Wed, Jan 13, 2016 at 10:21:31AM -0800, Michael Turquette wrote:
> RCU is absolutely not a magic bullet or elixir that lets us kick off
> DVFS transitions from the schedule() context. The frequency transitions
> are write-side operations, as we invariably touch struct cpufreq_policy.
> This means that the read-side stuff can live in the schedule() context,
> but write-side needs to be kicked out to a thread.
Why? If the state is per-cpu and acquired by RCU, updates should be no
problem at all.
If you need inter-cpu state, then things get to be a little tricky
though, but you can actually nest a raw_spinlock_t in there if you
absolutely have to.
Powered by blists - more mailing lists