public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/5] driver-core: async probe support
@ 2014-09-26 21:57 Luis R. Rodriguez
  2014-09-26 21:57 ` [PATCH v1 1/5] module: add extra argument for parse_params() callback Luis R. Rodriguez
                   ` (4 more replies)
  0 siblings, 5 replies; 35+ messages in thread
From: Luis R. Rodriguez @ 2014-09-26 21:57 UTC (permalink / raw)
  To: gregkh, dmitry.torokhov, tiwai, tj, arjan
  Cc: teg, rmilasan, werner, oleg, hare, bpoirier, santosh, pmladek,
	dbueso, mcgrof, linux-kernel

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


^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2014-10-03 21:12 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-26 21:57 [PATCH v1 0/5] driver-core: async probe support Luis R. Rodriguez
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox