On 01-02-16, 12:24, Saravana Kannan wrote:
On 02/01/2016 02:22 AM, Rafael J. Wysocki wrote:
I'm not sure whose idea you are referring to. Viresh's (I don't think I saw
his proposal) or mine.
http://git.linaro.org/people/viresh.kumar/linux.git/commit/57714d5b1778f2f610bcc5c74d85b29ba1cc1995
Anyway, to explain my suggestion better, I'm proposing to make it so that we
don't have a need for the AB BA locking. The only reason the governor needs
to even grab the sysfs lock is to add/remove the sysfs attribute files.
That can be easily achieved if the policy struct has some "gov_attrs"
field(s) that each governor populates. Then the framework just has to create
them after POLICY_INIT is processed by the governor and remove them before
POILICY_EXIT is sent to the governor.
What will that solve? It will stay exactly same then as well, as we
would be adding/removing these attributes from within the same
policy->rwsem ..
That way, we also avoid having to worry about the gov attributes accessed by
the show/store disappearing while the files are being accessed.
It can't happen. S_active lock should be taking care of that, isn't
it?