From: Alan Stern <stern@rowland.harvard.edu>
To: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
Linux PM list <linux-pm@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Grant Likely <grant.likely@linaro.org>,
Mark Brown <broonie@kernel.og>, Rob Herring <robh@kernel.org>,
Thierry Reding <treding@nvidia.com>,
Dmitry Torokhov <dtor@google.com>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Michael Turquette <mturquette@baylibre.com>
Subject: Re: [RFD] Functional dependencies between devices
Date: Thu, 29 Oct 2015 10:31:08 -0400 (EDT) [thread overview]
Message-ID: <Pine.LNX.4.44L0.1510291024190.1647-100000@iolanthe.rowland.org> (raw)
In-Reply-To: <CAAObsKARL=mG8bsvdU7AJSosDd3aw7CuH+OiLsi0Umc2B-L+nQ@mail.gmail.com>
Good grief, don't you guys ever trim unwanted material from your
emails? I had to erase more than 4 screens worth of useless stuff
before getting to the relevant portions.
On Thu, 29 Oct 2015, Tomeu Vizoso wrote:
> >> Also, have you considered that not only drivers request resources? For
> >> example, the on-demand probing series would probe a device that is
> >> needed by an initcall, simplifying synchronization.
Did Rafael ever say that only drivers could create these functional
dependencies? I don't recall seeing that anywhere. Presumably any
part of the kernel will be allowed to do it.
> > You really need to explain what you mean here or maybe give an example.
>
> There are initcalls that assume that a given resource is available.
> Because of async probes, or because the resource's driver being built
> as a module, or because the resource's driver gained a dependency
> (direct or not), those initcalls break unexpectedly at times.
>
> If resource getters could probe dependencies on-demand, those
> initcalls would be more robust to changes in other parts of the
> codebase.
>
> AFAIUI, your proposal would help with a device's dependencies being
> there when it's probed, but initcalls could still run into unfulfilled
> dependencies.
One possible approach is to have a "wait_for_driver" flag, along with a
timeout value (or perhaps using a fixed timeout value). When a
dependency gets registered with this flag set, the function call
wouldn't return until the target device is bound to a driver or the
timeout has elapsed.
This would make it easy to insert dependencies at probe time without
relying on deferred probing.
Alan Stern
next prev parent reply other threads:[~2015-10-29 14:31 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-27 15:24 [RFD] Functional dependencies between devices Rafael J. Wysocki
2015-10-27 15:20 ` Tomeu Vizoso
2015-10-28 2:15 ` Rafael J. Wysocki
2015-10-28 14:26 ` Tomeu Vizoso
2015-10-28 15:54 ` Rafael J. Wysocki
2015-10-29 0:18 ` Mark Brown
2015-10-29 14:03 ` Tomeu Vizoso
2015-10-29 14:31 ` Alan Stern [this message]
2015-10-31 2:23 ` Rafael J. Wysocki
2015-10-31 15:22 ` Alan Stern
2015-10-29 0:15 ` Mark Brown
2015-10-31 2:13 ` Rafael J. Wysocki
2015-10-31 2:40 ` Mark Brown
2015-10-30 9:50 ` Linus Walleij
2015-10-30 22:52 ` Greg Kroah-Hartman
2016-01-07 14:55 ` Tomeu Vizoso
2016-01-07 21:29 ` Greg Kroah-Hartman
2016-01-08 7:28 ` Tomeu Vizoso
2016-01-08 15:15 ` Greg Kroah-Hartman
2015-11-09 12:32 ` Thierry Reding
2015-11-09 21:42 ` Rafael J. Wysocki
2015-11-17 12:44 ` Andrzej Hajda
2015-11-18 2:17 ` Rafael J. Wysocki
2015-11-19 9:08 ` Andrzej Hajda
2015-11-19 22:04 ` Rafael J. Wysocki
2015-11-20 1:11 ` Rafael J. Wysocki
2015-11-24 14:57 ` Andrzej Hajda
2015-11-24 16:28 ` Rafael J. Wysocki
2015-11-30 7:16 ` Andrzej Hajda
2015-11-17 12:49 ` Andrzej Hajda
2015-11-17 13:55 ` Mark Brown
2015-11-19 6:50 ` Andrzej Hajda
2015-11-21 14:04 ` Mark Brown
2015-11-24 13:56 ` Andrzej Hajda
2015-11-19 13:18 ` Thierry Reding
2015-11-21 13:26 ` Mark Brown
2015-11-17 20:31 ` Alan Stern
2015-11-17 22:47 ` Mark Brown
2016-01-14 1:52 ` [RFC][PATCH 0/5] " Rafael J. Wysocki
2016-01-14 1:53 ` [RFC][PATCH 1/5] driver core: Add a wrapper around __device_release_driver() Rafael J. Wysocki
2016-01-14 1:54 ` [RFC][PATCH 2/5] driver core: Functional dependencies tracking support Rafael J. Wysocki
2016-06-08 12:48 ` Mark Brown
2016-06-08 18:12 ` Rafael J. Wysocki
2016-06-08 18:35 ` Mark Brown
2016-06-08 20:48 ` Rafael J. Wysocki
2016-06-08 22:24 ` Mark Brown
2016-01-14 1:55 ` [RFC][PATCH 3/5] PM core: Make async suspend/resume of devices use device links Rafael J. Wysocki
2016-06-08 12:59 ` Mark Brown
2016-01-14 1:56 ` [RFC][PATCH 4/5] PM core: Make runtime PM " Rafael J. Wysocki
2016-01-14 1:56 ` [RFC][PATCH 5/5] PM core: Optimize the use of device links for runtime PM Rafael J. Wysocki
2016-01-14 14:19 ` [RFC][PATCH 0/5] Functional dependencies between devices Tomeu Vizoso
2016-01-15 0:44 ` Rafael J. Wysocki
2016-06-08 12:15 ` Mark Brown
2016-06-08 17:24 ` Rafael J. Wysocki
2016-06-08 17:33 ` Mark Brown
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=Pine.LNX.4.44L0.1510291024190.1647-100000@iolanthe.rowland.org \
--to=stern@rowland.harvard.edu \
--cc=broonie@kernel.og \
--cc=dtor@google.com \
--cc=geert@linux-m68k.org \
--cc=grant.likely@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=rjw@rjwysocki.net \
--cc=robh@kernel.org \
--cc=tomeu.vizoso@collabora.com \
--cc=treding@nvidia.com \
/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;
as well as URLs for NNTP newsgroup(s).