From: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
To: gregkh@linuxfoundation.org, dmitry.torokhov@gmail.com,
tiwai@suse.de, tj@kernel.org, arjan@linux.intel.com
Cc: teg@jklm.no, rmilasan@suse.com, werner@suse.com, oleg@redhat.com,
hare@suse.com, bpoirier@suse.de, santosh@chelsio.com,
pmladek@suse.cz, dbueso@suse.com, mcgrof@suse.com,
linux-kernel@vger.kernel.org
Subject: [PATCH v1 0/5] driver-core: async probe support
Date: Fri, 26 Sep 2014 14:57:12 -0700 [thread overview]
Message-ID: <1411768637-6809-1-git-send-email-mcgrof@do-not-panic.com> (raw)
From: "Luis R. Rodriguez" <mcgrof@suse.com>
What started off as a witch hunt for a solution to the systemd
kernel-module-loading-timeout-and-it-killing-drivers-issue (TM)
ended up in our last discussions [0] agreement for us to add to the
kernel what systemd expected us to be doing: asynchronous probing.
This implements support for that, but please note that upon further
inspection of what the timeout is doing and implicating (documented on
patch number 5 in this series) its also recommended that systemd
revisit its timeout and perhaps consider simply not killing kmod
workers. Even if the killing goes away this framework can still be
desirable, and its expected this will be expanded to support
built-in drivers as well later.
This goes build tested with allmodconfig, and run time tested
with and without bus.safe_mod_async_probe=1 on 4 different systems.
As noted on patch #5 systemd should not use bus.safe_mod_async_probe=1
but instead issue a request per module so that in other cases where
its not advisable to use async probe (also documented on patch #5)
it can avoid it. We also enable a flag to let drivers specify if
they never want to enable async probe for whatever reason and an
example is provided on how to do this.
This should have 0 impact unless userspace is issuing the module
parameter for modules, or if any of the new module parameters are
used to help test things.
[0] https://lkml.org/lkml/2014/9/12/625
Luis R. Rodriguez (5):
module: add extra argument for parse_params() callback
driver-core: enable drivers to opt-out of async probe
amd64_edac: enforce synchronous probe
driver-core: generalize freeing driver private member
driver-core: add driver asynchronous probe support
arch/powerpc/mm/hugetlbpage.c | 4 +-
drivers/base/base.h | 6 ++
drivers/base/bus.c | 150 ++++++++++++++++++++++++++++++++++++++++--
drivers/base/dd.c | 7 ++
drivers/edac/amd64_edac.c | 1 +
include/linux/device.h | 5 ++
include/linux/module.h | 2 +
include/linux/moduleparam.h | 3 +-
init/main.c | 25 ++++---
kernel/module.c | 16 ++++-
kernel/params.c | 11 ++--
lib/dynamic_debug.c | 4 +-
12 files changed, 206 insertions(+), 28 deletions(-)
--
2.1.0
next reply other threads:[~2014-09-26 21:57 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-26 21:57 Luis R. Rodriguez [this message]
2014-09-26 21:57 ` [PATCH v1 1/5] module: add extra argument for parse_params() callback Luis R. Rodriguez
2014-09-26 21:57 ` [PATCH v1 2/5] driver-core: enable drivers to opt-out of async probe Luis R. Rodriguez
2014-09-28 14:33 ` Tejun Heo
2014-09-29 18:55 ` Luis R. Rodriguez
2014-09-26 21:57 ` [PATCH v1 3/5] amd64_edac: enforce synchronous probe Luis R. Rodriguez
2014-09-28 14:41 ` Tejun Heo
2014-09-30 7:23 ` Luis R. Rodriguez
2014-10-01 22:39 ` Luis R. Rodriguez
2014-10-02 9:18 ` Borislav Petkov
2014-10-02 19:08 ` Luis R. Rodriguez
2014-09-26 21:57 ` [PATCH v1 4/5] driver-core: generalize freeing driver private member Luis R. Rodriguez
2014-09-26 21:57 ` [PATCH v1 5/5] driver-core: add driver asynchronous probe support Luis R. Rodriguez
2014-09-28 15:03 ` Tejun Heo
2014-09-29 21:22 ` Luis R. Rodriguez
2014-09-29 21:26 ` Tejun Heo
2014-09-30 7:21 ` Luis R. Rodriguez
2014-10-02 23:29 ` Luis R. Rodriguez
2014-09-29 21:59 ` Greg KH
2014-09-29 22:10 ` Luis R. Rodriguez
2014-09-29 22:24 ` Greg KH
2014-09-28 17:07 ` Tom Gundersen
2014-09-30 2:27 ` Luis R. Rodriguez
2014-09-30 7:47 ` Luis R. Rodriguez
2014-09-30 9:22 ` Tom Gundersen
2014-09-30 15:24 ` Luis R. Rodriguez
2014-10-02 6:12 ` Tom Gundersen
2014-10-02 20:06 ` Luis R. Rodriguez
2014-10-03 8:23 ` Tom Gundersen
2014-10-03 16:54 ` Luis R. Rodriguez
2014-09-28 19:22 ` Dmitry Torokhov
2014-09-30 7:15 ` Luis R. Rodriguez
2014-10-02 23:31 ` Luis R. Rodriguez
2014-10-03 20:11 ` Luis R. Rodriguez
2014-10-03 21:12 ` Luis R. Rodriguez
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=1411768637-6809-1-git-send-email-mcgrof@do-not-panic.com \
--to=mcgrof@do-not-panic.com \
--cc=arjan@linux.intel.com \
--cc=bpoirier@suse.de \
--cc=dbueso@suse.com \
--cc=dmitry.torokhov@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=hare@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mcgrof@suse.com \
--cc=oleg@redhat.com \
--cc=pmladek@suse.cz \
--cc=rmilasan@suse.com \
--cc=santosh@chelsio.com \
--cc=teg@jklm.no \
--cc=tiwai@suse.de \
--cc=tj@kernel.org \
--cc=werner@suse.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