[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190305071808epcms1p89cd924ae1c7fc344b7e554f5f18592d2@epcms1p8>
Date: Tue, 05 Mar 2019 16:18:08 +0900
From: MyungJoo Ham <myungjoo.ham@...sung.com>
To: Sibi Sankar <sibis@...eaurora.org>,
Kyungmin Park <kyungmin.park@...sung.com>
CC: Chanwoo Choi <cw00.choi@...sung.com>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-msm-owner@...r.kernel.org"
<linux-arm-msm-owner@...r.kernel.org>,
"skannan@...eaurora.org" <skannan@...eaurora.org>
Subject: RE: Re: [PATCH v4] PM / devfreq: Restart previous governor if new
governor fails to start
>Hey MyungJoo, Kyungmin
>Did you get a chance to think about how you
>want this fix implemented?
>
>On 2019-02-19 10:42, Sibi Sankar wrote:
>> Hey MyungJoo,
>>
>> On 12/14/18 7:15 AM, MyungJoo Ham wrote:
>>>> From: Saravana Kannan <skannan@...eaurora.org>
>>>>
>>>> If the new governor fails to start, switch back to old governor so
>>>> that the
>>>> devfreq state is not left in some weird limbo.
>>>>
>>>> Signed-off-by: Sibi Sankar <sibis@...eaurora.org>
>>>> Signed-off-by: Saravana Kannan <skannan@...eaurora.org>
>>>> Reviewed-by: Chanwoo Choi <cw00.choi@...sung.com>
>>>
>>> Hello,
>>>
>>> In overall, the idea and the implementation looks good.
>>>
>>> However, I have a question:
>>>
>>> What if the following line fails?
>>>
>>> + df->governor->event_handler(df, DEVFREQ_GOV_START,
>>> + NULL);
>>>
>>> Don't we still need something to handle for such events?
>>
>> The original discussion went as follows:
>> governor_store is expected to be used only on cases
>> where devfreq_add_device() succeeded i.e prev->governor
>> is expected to be present and DEVFREQ_GOV_START is
>> expected to succeed. Hence falling back to the previous
>> governor seems like a sensible idea.
>>
>> This would also prevent DEVFREQ_GOV_STOP from being called
>> on a governor were DEVFREQ_GOV_START had failed which is
>> ideal.
>>
>> That being said DEVFREQ_GOV_START can still fail for the
>> prev-governor due to some change in state of the system.
>> Do you want to handle this case by clearing the state of
>> governor rather than switching to previous governor?
>>
If moving back to previous governor fails after
failing for "next" governor, we may assume it's fatal
and stop the device; we can simply return errors.
In such a case, df->governor may need to be NULL as well.
Cheers,
MyungJoo
Powered by blists - more mailing lists