[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <68b90830d5024ce75a20b017aaf21c05@codeaurora.org>
Date: Wed, 01 Aug 2018 14:18:09 -0700
From: rishabhb@...eaurora.org
To: "Rafael J. Wysocki" <rafael@...nel.org>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
ckadabi@...eaurora.org, tsoni@...eaurora.org,
Vikram Mulukutla <markivx@...eaurora.org>, rjwysocki@...il.com
Subject: Re: [PATCH] dd: Invoke one probe retry cycle after every initcall
level
On 2018-07-24 01:24, Rafael J. Wysocki wrote:
> On Mon, Jul 23, 2018 at 10:22 PM, <rishabhb@...eaurora.org> wrote:
>> On 2018-07-23 04:17, Rafael J. Wysocki wrote:
>>>
>>> On Thu, Jul 19, 2018 at 11:24 PM, Rishabh Bhatnagar
>>> <rishabhb@...eaurora.org> wrote:
>>>>
>>>> Drivers that are registered at an initcall level may have to
>>>> wait until late_init before the probe deferral mechanism can
>>>> retry their probe functions. It is possible that their
>>>> dependencies were resolved much earlier, in some cases even
>>>> before the next initcall level. Invoke one probe retry cycle
>>>> at every _sync initcall level, allowing these drivers to be
>>>> probed earlier.
>>>
>>>
>>> Can you please say something about the actual use case this is
>>> expected to address?
>>
>> We have a display driver that depends 3 other devices to be
>> probed so that it can bring-up the display. Because of dependencies
>> not being met the deferral mechanism defers the probes for a later
>> time,
>> even though the dependencies might be met earlier. With this change
>> display can be brought up much earlier.
>
> OK
>
> What runlevel brings up the display after the change?
>
> Thanks,
> Rafael
After the change the display can come up after device_initcall level
itself.
The above mentioned 3 devices are probed at 0.503253, 0.505210 and
0.523264 secs.
Only the first device is probed successfully. With the current
deferral mechanism the devices get probed again after late_initcall
at 9.19 and 9.35 secs. So display can only come up after 9.35 secs.
With this change the devices are re-probed successfully at 0.60 and
0.613 secs. Therefore display can come just after 0.613 secs.
This change helps in overall android bootup as well.
-Rishabh
Powered by blists - more mailing lists