From: "Rafael J. Wysocki" <email@example.com> To: Rishabh Bhatnagar <firstname.lastname@example.org> Cc: "Rafael J. Wysocki" <email@example.com>, Greg Kroah-Hartman <firstname.lastname@example.org>, Linux Kernel Mailing List <email@example.com>, firstname.lastname@example.org, email@example.com, Vikram Mulukutla <firstname.lastname@example.org> Subject: Re: [PATCH] dd: Invoke one probe retry cycle after every initcall level Date: Wed, 1 Aug 2018 23:21:16 +0200 Message-ID: <CAJZ5v0jpm8tVjyWjA36Sp-bTEWUE+6cExjH7=CM=LUB-6xvePA@mail.gmail.com> (raw) In-Reply-To: <email@example.com> On Wed, Aug 1, 2018 at 11:18 PM, <firstname.lastname@example.org> wrote: > On 2018-07-24 01:24, Rafael J. Wysocki wrote: >> >> On Mon, Jul 23, 2018 at 10:22 PM, <email@example.com> wrote: >>> >>> On 2018-07-23 04:17, Rafael J. Wysocki wrote: >>>> >>>> >>>> On Thu, Jul 19, 2018 at 11:24 PM, Rishabh Bhatnagar >>>> <firstname.lastname@example.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. OK, so why do you touch the initcall levels earlier than device_? > This change helps in overall android bootup as well. How exactly?
next prev parent reply index Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-07-19 21:24 Rishabh Bhatnagar 2018-07-23 11:17 ` Rafael J. Wysocki 2018-07-23 20:22 ` rishabhb 2018-07-24 8:24 ` Rafael J. Wysocki 2018-08-01 21:18 ` rishabhb 2018-08-01 21:21 ` Rafael J. Wysocki [this message] [not found] ` <CA+tyz+6ZwtpKM=G5F2Do_sXWyo8r83ma19fWpn4HELiy0XT7email@example.com> 2018-08-02 22:20 ` Sodagudi Prasad 2018-08-06 8:53 ` Rafael J. Wysocki 2018-08-09 22:30 ` rishabhb 2018-08-10 7:10 ` Rafael J. Wysocki 2018-08-10 17:19 ` Sodagudi Prasad
Reply instructions: You may reply publically to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAJZ5v0jpm8tVjyWjA36Sp-bTEWUE+6cExjH7=CM=LUB-6xvePA@mail.gmail.com' \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
LKML Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \ email@example.com firstname.lastname@example.org public-inbox-index lkml Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel AGPL code for this site: git clone https://public-inbox.org/ public-inbox