mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Rob Herring <robh+dt@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "Tim Bird" <tim.bird@sonymobile.com>,
	"frowand.list@gmail.com" <frowand.list@gmail.com>,
	"Tomeu Vizoso" <tomeu.vizoso@collabora.com>,
	"Mark Brown" <broonie@kernel.org>,
	"Russell King" <linux@arm.linux.org.uk>,
	"Michael Turquette" <mturquette@baylibre.com>,
	"Stephen Boyd" <sboyd@codeaurora.org>,
	"Vinod Koul" <vinod.koul@intel.com>,
	"Dan Williams" <dan.j.williams@intel.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Alexandre Courbot" <gnurou@gmail.com>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"David Airlie" <airlied@linux.ie>,
	"Terje Bergström" <tbergstrom@nvidia.com>,
	"Stephen Warren" <swarren@wwwdotorg.org>,
	"Wolfram Sang" <wsa@the-dreams.de>,
	"Grant Likely" <grant.likely@linaro.org>,
	"Kishon Vijay Abraham I" <kishon@ti.com>,
	"Sebastian Reichel" <sre@kernel.org>,
	"Dmitry Eremin-Solenikov" <dbaryshkov@gmail.com>,
	"David Woodhouse" <dwmw2@infradead.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Felipe Balbi" <balbi@ti.com>,
	"Jingoo Han" <jingoohan1@gmail.com>,
	"Lee Jones" <lee.jones@linaro.org>,
	"Jean-Christophe Plagniol-Villard" <plagnioj@jcrosoft.com>,
	"Tomi Valkeinen" <tomi.valkeinen@ti.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
	"dmaengine@vger.kernel.org" <dmaengine@vger.kernel.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"Linux PWM List" <linux-pwm@vger.kernel.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"linux-fbdev@vger.kernel.org" <linux-fbdev@vger.kernel.org>
Subject: Re: [GIT PULL] On-demand device probing
Date: Sat, 24 Oct 2015 16:17:12 +0200	[thread overview]
Message-ID: <24100858.2KIS8Y2npV@vostro.rjw.lan> (raw)
In-Reply-To: <CAL_JsqLNSM=+j2r9HPcbSzsZrgnGEY3=kv21EXxisKwP5+57ag@mail.gmail.com>

On Friday, October 23, 2015 11:34:34 AM Rob Herring wrote:
> On Fri, Oct 23, 2015 at 10:45 AM, Tim Bird <tim.bird@sonymobile.com> wrote:
> > On 10/22/2015 11:53 AM, Frank Rowand wrote:
> >> On 10/22/2015 7:44 AM, Greg Kroah-Hartman wrote:
> >>> <oops, sent too early...>
> >>>
> >>> On Thu, Oct 22, 2015 at 11:05:11AM +0200, Tomeu Vizoso wrote:
> >>>> But that's moot currently because Greg believes that the time spent
> >>>> probing devices at boot time could be reduced enough so that the order
> >>>> in which devices are probed becomes irrelevant. IME that would have to
> >>>> be under 200ms so that the user doesn't notice and that's unicorn-far
> >>>> from any bootlog I have ever seen.
> >>>
> >>> But as no one has actually produced a bootlog, how do you know that?
> >>> Where exactly is your time being spent?  What driver is causing long
> >>> delays?  Why is the long-delay-drivers not being done in their own
> >>> thread?  And most importantly, why are you ignoring the work that people
> >>> did back in 2008 to solve the issue on other hardware platforms?
> >>>
> >>>> Given that downstreams are already carrying as many hacks as they
> >>>> could think of to speed total boot up, I think this is effectively
> >>>> telling them to go away.
> >>>
> >>> No I'm not, I'm asking for real data, not hand-wavy-this-is-going-to
> >>> solve-the-random-issue-i'm-having type patch by putting random calls in
> >>> semi-random subsystems all over the kernel.
> >>>
> >>> And when I ask for real data, you respond with the fact that you aren't
> >>> trying to speed up boot time here at all, so what am I supposed to think
> >>
> >> I also had the understanding that this patch series was about improving
> >> boot time.  But I was kindly corrected that the behavior change was
> >> getting the panel displaying stuff at an earlier point in the boot sequence,
> >> _not_ completing the entire boot faster.
> >>
> >> The claim for the current series, in patch 0 in v7 is:
> >>
> >>    With this series I get the kernel to output to the panel in 0.5s,
> >>    instead of 2.8s.
> >
> > It's very common to want to get the display up before the
> > rest of the system.  So wanting to accelerate one part of the boot
> > at the expense to the rest of the system is a valid use case.
> > Deferred initcalls, which is out of tree primarily because it requires
> > the type of manual tweaking that Tomeu describes, specifically
> > addressed this issue.
> 
> Agreed and other folks will want other things up first. But it seems
> we are getting lucky with link order with the speed ups in this case.
> We need a way to specify priority of probing devices. If we have that
> piece, then all this plumbing can be used. A simple solution would be
> looking at stdout-path to get the console device to probe. That would
> be trivial to add on top of this. That may work for the display too,
> but you may not want the console on the display. That wouldn't work
> for CAN bus either, but then I'm not sure there is a generic solution
> for its requirements (respond within 50ms IIRC).

Well, I'm not quite sure why exactly everyone is so focused on probing here.

Probing is just one aspect of the fact that we need functional dependencies
to be tracked somehow and acted on when necessary.  And this is not limited
to probing, as I have already said for a few times.  Other cases include:
system shutdown, system suspend/resume, runtime PM, unbinding of drivers.

If there is a functional dependency between two devices (say, B requires A
to be present and functional, meaning that the driver of A has to be present
and working for the driver of B to be working), all of the above need to be
done in a specific order.

Today, however, the driver core only knows about structural dependencies
and only in the specific parent-child case.

So perhaps it's better to start discussing about a solution for the general
issue?

Thanks,
Rafael


  reply	other threads:[~2015-10-24 13:48 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-14  8:34 Tomeu Vizoso
2015-10-14  9:26 ` Mark Brown
2015-10-15 11:42   ` Tomeu Vizoso
2015-10-16 21:23     ` Olof Johansson
2015-10-17 15:19       ` Rob Herring
2015-10-19 16:52         ` Olof Johansson
2015-10-17  6:57 ` Greg Kroah-Hartman
2015-10-17 15:04   ` Rob Herring
2015-10-17 15:47     ` Greg Kroah-Hartman
2015-10-17 16:28       ` Rob Herring
2015-10-17 16:56         ` Greg Kroah-Hartman
2015-10-17 17:54           ` Rob Clark
2015-10-17 18:27             ` Greg Kroah-Hartman
2015-10-17 18:45               ` Rob Clark
2015-10-17 18:59                 ` Greg Kroah-Hartman
2015-10-17 19:39                   ` Rob Clark
2015-10-17 20:22                     ` Greg Kroah-Hartman
2015-10-17 19:04                 ` Noralf Trønnes
2015-10-17 19:48                   ` Rob Clark
2015-10-18 19:41       ` Mark Brown
2015-10-18 19:29   ` Mark Brown
2015-10-18 19:37     ` Greg Kroah-Hartman
2015-10-18 19:53       ` Mark Brown
2015-10-19  9:44         ` David Woodhouse
2015-10-19  9:52           ` Russell King - ARM Linux
2015-10-19 11:02           ` Mark Brown
2015-10-19 12:35           ` Rob Herring
2015-10-19 12:47             ` David Woodhouse
2015-10-19 14:50               ` Mark Brown
2015-10-19 15:29                 ` David Woodhouse
2015-10-19 15:43                   ` Russell King - ARM Linux
2015-10-19 18:27                     ` Uwe Kleine-König
2015-10-19 18:39                       ` Russell King - ARM Linux
2015-10-19 23:47                         ` Alexandre Courbot
2015-10-20  7:14                           ` gpiod API considerations [Was: [GIT PULL] On-demand device probing] Uwe Kleine-König
2015-10-20 11:12                     ` [GIT PULL] On-demand device probing David Woodhouse
2015-10-19 15:58                   ` Rob Herring
2015-10-19 21:40                     ` Rafael J. Wysocki
2015-10-19 22:58                       ` Rob Herring
2015-10-20  7:56                         ` Rafael J. Wysocki
2015-10-20 14:15                           ` Rob Herring
2015-10-20 14:40                             ` Alan Stern
2015-10-20 15:36                               ` Mark Brown
2015-10-20 16:04                                 ` Alan Stern
2015-10-20 16:21                                   ` Tomeu Vizoso
2015-10-20 17:14                                     ` Alan Stern
2015-10-20 19:35                                       ` Mark Brown
2015-10-20 23:35                                         ` Rafael J. Wysocki
2015-10-21  6:15                                           ` Jean-Francois Moine
2015-10-22  0:54                                     ` Rafael J. Wysocki
2015-10-22  9:14                                       ` Tomeu Vizoso
2015-10-27  5:03                                   ` Rafael J. Wysocki
2015-10-20 23:34                             ` Rafael J. Wysocki
2015-10-21  8:55                               ` Geert Uytterhoeven
2015-10-21 23:39                                 ` Rafael J. Wysocki
2015-10-19 16:04                   ` Mark Brown
2015-10-19 12:34         ` Tomeu Vizoso
2015-10-19 13:18           ` Russell King - ARM Linux
2015-10-19 14:10             ` Tomeu Vizoso
2015-10-19 14:30               ` Russell King - ARM Linux
2015-10-19 15:00                 ` Tomeu Vizoso
2015-10-19 15:35                   ` Russell King - ARM Linux
2015-10-19 16:21                     ` Geert Uytterhoeven
2015-10-19 16:45                       ` Russell King - ARM Linux
2015-10-20 15:46                       ` Alternative approach to solve the deferred probe (was: [GIT PULL] On-demand device probing) Russell King - ARM Linux
2015-10-21  3:58                         ` Alternative approach to solve the deferred probe Frank Rowand
2015-10-21  8:18                           ` Russell King - ARM Linux
2015-10-21 15:36                             ` Frank Rowand
2015-10-21 16:55                               ` Grygorii Strashko
2015-10-21 17:20                                 ` Russell King - ARM Linux
2015-10-21 18:13                                   ` Grygorii Strashko
2015-10-21 18:28                                     ` Russell King - ARM Linux
2015-10-22 15:12                                       ` Grygorii Strashko
2015-10-21 18:02                                 ` Frank Rowand
2015-10-21 18:29                                   ` Grygorii Strashko
2015-10-21 20:35                               ` Russell King - ARM Linux
2015-10-22  0:05                                 ` Frank Rowand
2015-10-22 13:20                         ` Alternative approach to solve the deferred probe (was: [GIT PULL] On-demand device probing) Mark Brown
2015-10-21 15:59           ` [GIT PULL] On-demand device probing Frank Rowand
2015-10-21 16:27             ` Mark Brown
2015-10-21 18:18               ` Frank Rowand
2015-10-21 21:03                 ` Mark Brown
2015-10-21 21:12                 ` Rob Herring
2015-10-21 21:50                   ` Frank Rowand
2015-10-22  9:05                     ` Tomeu Vizoso
2015-10-22 14:38                       ` Greg Kroah-Hartman
2015-10-22 14:44                       ` Greg Kroah-Hartman
2015-10-22 15:02                         ` Russell King - ARM Linux
2015-10-22 23:33                           ` Mark Brown
2015-10-22 18:53                         ` Frank Rowand
2015-10-22 19:26                           ` Greg Kroah-Hartman
2015-10-23 12:28                             ` Tomeu Vizoso
2015-10-23 15:45                           ` Tim Bird
2015-10-23 16:34                             ` Rob Herring
2015-10-24 14:17                               ` Rafael J. Wysocki [this message]
2015-10-24 22:06                                 ` Mark Brown
2015-10-25 13:54                                   ` Rafael J. Wysocki
2015-10-26  1:12                                     ` Mark Brown
2015-10-26 10:51                                     ` Michael Turquette
2015-10-26 12:55                                       ` Tomeu Vizoso
2015-10-26 23:37                                       ` Rafael J. Wysocki
2015-10-25 19:45                             ` Andrew F. Davis
2015-10-24 17:55                           ` Geert Uytterhoeven

Reply instructions:

You may reply publicly 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=24100858.2KIS8Y2npV@vostro.rjw.lan \
    --to=rjw@rjwysocki.net \
    --cc=airlied@linux.ie \
    --cc=balbi@ti.com \
    --cc=broonie@kernel.org \
    --cc=dan.j.williams@intel.com \
    --cc=dbaryshkov@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=dwmw2@infradead.org \
    --cc=frowand.list@gmail.com \
    --cc=gnurou@gmail.com \
    --cc=grant.likely@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jingoohan1@gmail.com \
    --cc=kishon@ti.com \
    --cc=lee.jones@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mturquette@baylibre.com \
    --cc=plagnioj@jcrosoft.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@codeaurora.org \
    --cc=sre@kernel.org \
    --cc=swarren@wwwdotorg.org \
    --cc=tbergstrom@nvidia.com \
    --cc=thierry.reding@gmail.com \
    --cc=tim.bird@sonymobile.com \
    --cc=tomeu.vizoso@collabora.com \
    --cc=tomi.valkeinen@ti.com \
    --cc=vinod.koul@intel.com \
    --cc=wsa@the-dreams.de \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®