[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKohponD2LdDsJy=UJCf-1yANjyPjmAyokV5a4HOSJn_DMJVhA@mail.gmail.com>
Date: Wed, 14 Aug 2013 13:18:05 +0530
From: Viresh Kumar <viresh.kumar@...aro.org>
To: Xiaoguang Chen <chenxg.marvell@...il.com>
Cc: Xiaoguang Chen <chenxg@...vell.com>,
"cpufreq@...r.kernel.org" <cpufreq@...r.kernel.org>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"Rafael J. Wysocki" <rjw@...k.pl>
Subject: Re: [PATCH 1/2] cpufreq: Add governor operation ongoing flag
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@...il.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?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists