mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Luis R . Rodriguez" <mcgrof@suse.com>,
	linux-kernel@vger.kernel.org,
	Arjan van de Ven <arjan@linux.intel.com>,
	Rusty Russell <rusty@rustcorp.com.au>,
	Olof Johansson <olof@lixom.net>,
	Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Subject: Re: [PATCH 6/8] amd64_edac: enforce synchronous probe
Date: Thu, 19 Mar 2015 11:41:41 -0400	[thread overview]
Message-ID: <20150319154141.GJ25365@htj.duckdns.org> (raw)
In-Reply-To: <20150319002619.GM11485@dtor-ws>

Hello, Dmitry.

On Wed, Mar 18, 2015 at 05:26:19PM -0700, Dmitry Torokhov wrote:
> Why would they get decoupled? For example, if we are talking about input
> devices, they can be connected to platform bus or one of i2c buses or
> HID (via USB). If we want to ensure ordering we'd have to synchronize
> all of them somehow and I do not have even sure what the rule should be.
> I mean I am probing platform devices simultaneously and I come to an
> i2c controller and gpio input device. So I wait till both done probing
> before posting new devices to the driver core? What if one returns
> -EPROBE_DEFER? Do I stop and wait for the deferral to complete? What if
> deferral is satisfied by a 3rd device on platform bus? If I am waiting
> for all devices to probe I won't be able to resolve the deferral. And
> even without deferral in old world we'd probe i2c and i2c will lead to
> discovery of another input device which would be registered before
> registering the platform input device. So with async we'd have to pause
> platform probing until all children of i2c are done probing, which
> pretty much kills all async gains as far as I can see.
...
> I think the logic is pretty much the same even with async probing,
> especially if you take into account -EPROBE_DEFER handling that we
> already have. You may not run into it that often on x86 but it is pretty
> common on arm devices and it does change the probe order.

I see, so, if ordering has never been reliable for a given platform or
class of devices, there's nothing to worry about.  Or even if ordering
has been reliable but change of ordering wouldn't be noticable from
userland, that'd be fine too.  The thing is that for certain classes
of devices, we've been guaranteeing probe ordering during boot and
there are non-insignificant number of use cases which depend on that
and we should be able to accomodate them.

I don't think this'd be a huge burden.  e.g. even something like
synchronizing once for all async pci probes can be enough.  That
should be enough for most traditional storage devices and that's the
biggest item.

> I do not think this flag is useful for end users but rather for
> distributions. Either their userspace is ready to handle fully async
> probe or not quite yet.

I think we should be able to enable all-async probing by default and
that'd be far beneficial and simpler for everybody.

Thanks.

-- 
tejun

  reply	other threads:[~2015-03-19 15:41 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-16 23:33 [PATCH 0/8] Asynchronous device/driver probing support Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 1/8] module: add extra argument for parse_params() callback Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 2/8] driver-core: add asynchronous probing support for drivers Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 3/8] driver-core: add driver module asynchronous probe support Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 4/8] driver-core: enable drivers to opt-out of async probe Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 5/8] driver-core: platform_driver_probe() must probe synchronously Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 6/8] amd64_edac: enforce synchronous probe Dmitry Torokhov
2015-03-18 16:56   ` Tejun Heo
2015-03-18 17:45     ` Dmitry Torokhov
2015-03-18 17:50       ` Dmitry Torokhov
2015-03-18 18:16       ` Tejun Heo
2015-03-18 18:23         ` Dmitry Torokhov
2015-03-18 18:27           ` Tejun Heo
2015-03-18 18:37             ` Dmitry Torokhov
2015-03-18 18:45               ` Tejun Heo
2015-03-18 19:36                 ` Dmitry Torokhov
2015-03-18 19:51                   ` Tejun Heo
2015-03-18 20:26                     ` Dmitry Torokhov
2015-03-18 21:02                       ` Tejun Heo
2015-03-18 21:41                         ` Dmitry Torokhov
2015-03-18 21:50                           ` Tejun Heo
2015-03-18 22:15                             ` Dmitry Torokhov
2015-03-18 23:24                               ` Tejun Heo
2015-03-19  0:26                                 ` Dmitry Torokhov
2015-03-19 15:41                                   ` Tejun Heo [this message]
2015-03-19 16:01                                     ` Dmitry Torokhov
2015-03-19 16:19                                       ` Tejun Heo
2015-03-19 17:04                                         ` Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 7/8] module: add core_param_unsafe Dmitry Torokhov
2015-01-20  5:43   ` Rusty Russell
2015-01-16 23:33 ` [PATCH 8/8] driver-core: allow forcing async probing for modules and builtins Dmitry Torokhov
2015-02-03 23:12 ` [PATCH 0/8] Asynchronous device/driver probing support Dmitry Torokhov
2015-02-07 10:06   ` Greg Kroah-Hartman
2015-03-03 21:18     ` Dmitry Torokhov
2015-03-18 16:46       ` Dmitry Torokhov
2015-03-30 23:20 [PATCH v2 " Dmitry Torokhov
2015-03-30 23:20 ` [PATCH 6/8] amd64_edac: enforce synchronous probe Dmitry Torokhov

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=20150319154141.GJ25365@htj.duckdns.org \
    --to=tj@kernel.org \
    --cc=arjan@linux.intel.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcgrof@suse.com \
    --cc=olof@lixom.net \
    --cc=penguin-kernel@I-love.SAKURA.ne.jp \
    --cc=rusty@rustcorp.com.au \
    /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®