Messages in this thread | | | Date | Wed, 14 Aug 2013 13:18:05 +0530 | Subject | Re: [PATCH 1/2] cpufreq: Add governor operation ongoing flag | From | Viresh Kumar <> |
| |
I am still not sure if I got what you are trying to say, sorry :(
On 14 August 2013 13:06, Xiaoguang Chen <chenxg.marvell@gmail.com> wrote: > Please see below code in __cpufreq_governor function > > mutex_lock(&cpufreq_governor_lock); > if ((!policy->governor_enabled && (event == CPUFREQ_GOV_STOP)) || > //////////// <1> Here one process A tries > to stop governor, it finds governor is enabled, so it will pass down. > (policy->governor_enabled && (event == CPUFREQ_GOV_START))) { > /////////////<3> Process B tries to start > governor, it finds enable flag is false, so it can also pass down.
Processes aren't allowed to call START/STOP in random manner. They must do a STOP first, if it succeeds do a START.
So lets see it this way:
Process A Process B STOP STOP START (If STOP passed) START (If STOP passed)
So, Process B tries to STOP/START after governor is Stopped by A. Now call to STOP for process B will fail as we are already stopped..
Can you explain with this example the problem you are trying to solve?
| |