lkml.org 
[lkml]   [2018]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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@codeaurora.org> wrote:
>> On 2018-07-23 04:17, Rafael J. Wysocki wrote:
>>>
>>> On Thu, Jul 19, 2018 at 11:24 PM, Rishabh Bhatnagar
>>> <rishabhb@codeaurora.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


\
 
 \ /
  Last update: 2018-08-01 23:18    [W:0.408 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site