From: "Luis R. Rodriguez" <mcgrof@suse.com>
To: Tejun Heo <tj@kernel.org>
Cc: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>,
gregkh@linuxfoundation.org, dmitry.torokhov@gmail.com,
tiwai@suse.de, arjan@linux.intel.com, 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, linux-kernel@vger.kernel.org,
Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
Joseph Salisbury <joseph.salisbury@canonical.com>,
Kay Sievers <kay@vrfy.org>,
One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>,
Tim Gardner <tim.gardner@canonical.com>,
Pierre Fersing <pierre-fersing@pierref.org>,
Andrew Morton <akpm@linux-foundation.org>,
Nagalakshmi Nandigama <nagalakshmi.nandigama@avagotech.com>,
Praveen Krishnamoorthy <praveen.krishnamoorthy@avagotech.com>,
Sreekanth Reddy <sreekanth.reddy@avagotech.com>,
Abhijit Mahajan <abhijit.mahajan@avagotech.com>,
Casey Leedom <leedom@che>
Subject: Re: [PATCH v2 7/7] driver-core: add preferred async probe option for built-in and modules
Date: Tue, 7 Oct 2014 01:10:46 +0200 [thread overview]
Message-ID: <20141006231046.GD14081@wotan.suse.de> (raw)
In-Reply-To: <20141006210118.GG18303@htj.dyndns.org>
On Mon, Oct 06, 2014 at 05:01:18PM -0400, Tejun Heo wrote:
> Hello,
>
> On Mon, Oct 06, 2014 at 10:36:27PM +0200, Luis R. Rodriguez wrote:
> > > Do we intend to keep this param permanently? Isn't this more of a
> > > temp tool to be used during development? If so, maybe we should make
> > > that clear with __DEVEL__ too?
> >
> > As its designed right now no, its not a temp tool, its there to
> > require compatibility with old userspace. For modules we can require
> > the module parameter but for built-in we need something else and this
> > is what came to mind. It is also what would allow the prefer_async_probe
> > flag too as otherwise we won't know if userspace is prepared.
>
> I don't get it.
By prepared I meant that userspace can handle async probe, but
you're right that we don't need to know that. I don't see how
we'd be breaking old userspace by doing async probe of a driver
is built-in right now... unless of course built-in always assumes
all possible devices would be present after right before userspace
init.
> For in-kernel stuff, we already have a clear
> synchronization point where we already synchronize all async calls.
> Shouldn't we be flushing these async probes there too?
This seems to be addressing if what I meant by prepared, "ready", so let
me address this as I do think its important.
By async calls do you mean users of async_schedule()? I see it
also uses system_unbound_wq as well but I do not see anyone calling
flush_workqueue(system_unbound_wq) on the kernel. We do use
async_synchronize_full() on kernel_init() but that just waits.
As it is we don't wait on init then, should we? Must we? Could / should
we use bus.enable_kern_async=1 to enable avoiding having to wait ? At
this point I'd prefer to address what we must do only.
> insmod'ing is
> userland visible but there's no reason this has to be for the built-in
> drivers.
Good point.
bus.enable_kern_async=1 would still also serve as a helper for the driver core
to figure out if it should use async probe then on modules if prefer_async_probe
was enabled. Let me know if you figure out a way to avoid it.
Luis
WARNING: multiple messages have this Message-ID (diff)
From: "Luis R. Rodriguez" <mcgrof@suse.com>
To: Tejun Heo <tj@kernel.org>
Cc: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>,
gregkh@linuxfoundation.org, dmitry.torokhov@gmail.com,
tiwai@suse.de, arjan@linux.intel.com, 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, linux-kernel@vger.kernel.org,
Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
Joseph Salisbury <joseph.salisbury@canonical.com>,
Kay Sievers <kay@vrfy.org>,
One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>,
Tim Gardner <tim.gardner@canonical.com>,
Pierre Fersing <pierre-fersing@pierref.org>,
Andrew Morton <akpm@linux-foundation.org>,
Nagalakshmi Nandigama <nagalakshmi.nandigama@avagotech.com>,
Praveen Krishnamoorthy <praveen.krishnamoorthy@avagotech.com>,
Sreekanth Reddy <sreekanth.reddy@avagotech.com>,
Abhijit Mahajan <abhijit.mahajan@avagotech.com>,
Casey Leedom <leedom@chelsio.com>,
Hariprasad S <hariprasad@chelsio.com>,
MPT-FusionLinux.pdl@avagotech.com, linux-scsi@vger.kernel.org,
netdev@vger.kernel.org
Subject: Re: [PATCH v2 7/7] driver-core: add preferred async probe option for built-in and modules
Date: Tue, 7 Oct 2014 01:10:46 +0200 [thread overview]
Message-ID: <20141006231046.GD14081@wotan.suse.de> (raw)
In-Reply-To: <20141006210118.GG18303@htj.dyndns.org>
On Mon, Oct 06, 2014 at 05:01:18PM -0400, Tejun Heo wrote:
> Hello,
>
> On Mon, Oct 06, 2014 at 10:36:27PM +0200, Luis R. Rodriguez wrote:
> > > Do we intend to keep this param permanently? Isn't this more of a
> > > temp tool to be used during development? If so, maybe we should make
> > > that clear with __DEVEL__ too?
> >
> > As its designed right now no, its not a temp tool, its there to
> > require compatibility with old userspace. For modules we can require
> > the module parameter but for built-in we need something else and this
> > is what came to mind. It is also what would allow the prefer_async_probe
> > flag too as otherwise we won't know if userspace is prepared.
>
> I don't get it.
By prepared I meant that userspace can handle async probe, but
you're right that we don't need to know that. I don't see how
we'd be breaking old userspace by doing async probe of a driver
is built-in right now... unless of course built-in always assumes
all possible devices would be present after right before userspace
init.
> For in-kernel stuff, we already have a clear
> synchronization point where we already synchronize all async calls.
> Shouldn't we be flushing these async probes there too?
This seems to be addressing if what I meant by prepared, "ready", so let
me address this as I do think its important.
By async calls do you mean users of async_schedule()? I see it
also uses system_unbound_wq as well but I do not see anyone calling
flush_workqueue(system_unbound_wq) on the kernel. We do use
async_synchronize_full() on kernel_init() but that just waits.
As it is we don't wait on init then, should we? Must we? Could / should
we use bus.enable_kern_async=1 to enable avoiding having to wait ? At
this point I'd prefer to address what we must do only.
> insmod'ing is
> userland visible but there's no reason this has to be for the built-in
> drivers.
Good point.
bus.enable_kern_async=1 would still also serve as a helper for the driver core
to figure out if it should use async probe then on modules if prefer_async_probe
was enabled. Let me know if you figure out a way to avoid it.
Luis
WARNING: multiple messages have this Message-ID (diff)
From: "Luis R. Rodriguez" <mcgrof@suse.com>
To: Tejun Heo <tj@kernel.org>
Cc: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>,
gregkh@linuxfoundation.org, dmitry.torokhov@gmail.com,
tiwai@suse.de, arjan@linux.intel.com, 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, linux-kernel@vger.kernel.org,
Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
Joseph Salisbury <joseph.salisbury@canonical.com>,
Kay Sievers <kay@vrfy.org>,
One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>,
Tim Gardner <tim.gardner@canonical.com>,
Pierre Fersing <pierre-fersing@pierref.org>,
Andrew Morton <akpm@linux-foundation.org>,
Nagalakshmi Nandigama <nagalakshmi.nandigama@avagotech.com>,
Praveen Krishnamoorthy <praveen.krishnamoorthy@avagotech.com>,
Sreekanth Reddy <sreekanth.reddy@avagotech.com>,
Abhijit Mahajan <abhijit.mahajan@avagotech.com>,
Casey Leedom <leedom@che
Subject: Re: [PATCH v2 7/7] driver-core: add preferred async probe option for built-in and modules
Date: Tue, 7 Oct 2014 01:10:46 +0200 [thread overview]
Message-ID: <20141006231046.GD14081@wotan.suse.de> (raw)
In-Reply-To: <20141006210118.GG18303@htj.dyndns.org>
On Mon, Oct 06, 2014 at 05:01:18PM -0400, Tejun Heo wrote:
> Hello,
>
> On Mon, Oct 06, 2014 at 10:36:27PM +0200, Luis R. Rodriguez wrote:
> > > Do we intend to keep this param permanently? Isn't this more of a
> > > temp tool to be used during development? If so, maybe we should make
> > > that clear with __DEVEL__ too?
> >
> > As its designed right now no, its not a temp tool, its there to
> > require compatibility with old userspace. For modules we can require
> > the module parameter but for built-in we need something else and this
> > is what came to mind. It is also what would allow the prefer_async_probe
> > flag too as otherwise we won't know if userspace is prepared.
>
> I don't get it.
By prepared I meant that userspace can handle async probe, but
you're right that we don't need to know that. I don't see how
we'd be breaking old userspace by doing async probe of a driver
is built-in right now... unless of course built-in always assumes
all possible devices would be present after right before userspace
init.
> For in-kernel stuff, we already have a clear
> synchronization point where we already synchronize all async calls.
> Shouldn't we be flushing these async probes there too?
This seems to be addressing if what I meant by prepared, "ready", so let
me address this as I do think its important.
By async calls do you mean users of async_schedule()? I see it
also uses system_unbound_wq as well but I do not see anyone calling
flush_workqueue(system_unbound_wq) on the kernel. We do use
async_synchronize_full() on kernel_init() but that just waits.
As it is we don't wait on init then, should we? Must we? Could / should
we use bus.enable_kern_async=1 to enable avoiding having to wait ? At
this point I'd prefer to address what we must do only.
> insmod'ing is
> userland visible but there's no reason this has to be for the built-in
> drivers.
Good point.
bus.enable_kern_async=1 would still also serve as a helper for the driver core
to figure out if it should use async probe then on modules if prefer_async_probe
was enabled. Let me know if you figure out a way to avoid it.
Luis
next prev parent reply other threads:[~2014-10-06 23:10 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-03 21:44 [PATCH v2 0/7] driver-core: async probe support Luis R. Rodriguez
2014-10-03 21:44 ` [PATCH v2 1/7] taint: add TAINT_DEBUG for invasive debugging features Luis R. Rodriguez
2014-10-15 5:35 ` Rusty Russell
2014-10-20 20:37 ` Luis R. Rodriguez
2014-10-03 21:44 ` [Cocci] [PATCH v2 2/7] module: add extra argument for parse_params() callback Luis R. Rodriguez
2014-10-03 21:44 ` Luis R. Rodriguez
2014-10-04 12:55 ` [Cocci] " SF Markus Elfring
2014-10-04 12:55 ` SF Markus Elfring
2014-10-06 20:38 ` Luis R. Rodriguez
2014-10-06 20:38 ` Luis R. Rodriguez
2014-10-06 21:06 ` SF Markus Elfring
2014-10-06 21:06 ` SF Markus Elfring
2014-10-06 22:15 ` Luis R. Rodriguez
2014-10-06 22:15 ` Luis R. Rodriguez
2014-10-15 5:35 ` Rusty Russell
2014-10-15 5:35 ` Rusty Russell
2014-10-03 21:44 ` [PATCH v2 3/7] driver-core: enable drivers to opt-out of async probe Luis R. Rodriguez
2014-10-03 21:44 ` [PATCH v2 4/7] amd64_edac: enforce synchronous probe Luis R. Rodriguez
2014-10-03 21:44 ` [PATCH v2 5/7] driver-core: generalize freeing driver private member Luis R. Rodriguez
2014-10-03 21:44 ` [PATCH v2 6/7] driver-core: add driver module asynchronous probe support Luis R. Rodriguez
2014-10-03 21:44 ` Luis R. Rodriguez
2014-10-03 21:44 ` [PATCH v2 7/7] driver-core: add preferred async probe option for built-in and modules Luis R. Rodriguez
2014-10-03 21:44 ` Luis R. Rodriguez
2014-10-06 20:19 ` Tejun Heo
2014-10-06 20:19 ` Tejun Heo
2014-10-06 20:19 ` Tejun Heo
2014-10-06 20:36 ` Luis R. Rodriguez
2014-10-06 20:36 ` Luis R. Rodriguez
2014-10-06 20:36 ` Luis R. Rodriguez
2014-10-06 21:01 ` Tejun Heo
2014-10-06 21:01 ` Tejun Heo
2014-10-06 21:01 ` Tejun Heo
2014-10-06 23:10 ` Luis R. Rodriguez [this message]
2014-10-06 23:10 ` Luis R. Rodriguez
2014-10-06 23:10 ` Luis R. Rodriguez
2014-10-07 17:34 ` Tejun Heo
2014-10-07 17:34 ` Tejun Heo
2014-10-07 17:34 ` Tejun Heo
2014-10-07 17:50 ` Luis R. Rodriguez
2014-10-07 17:50 ` Luis R. Rodriguez
2014-10-07 17:50 ` Luis R. Rodriguez
2014-10-07 17:55 ` Tejun Heo
2014-10-07 17:55 ` Tejun Heo
2014-10-07 17:55 ` Tejun Heo
2014-10-07 18:55 ` Luis R. Rodriguez
2014-10-07 18:55 ` Luis R. Rodriguez
2014-10-07 18:55 ` Luis R. Rodriguez
2014-10-07 19:07 ` Luis R. Rodriguez
2014-10-07 19:07 ` Luis R. Rodriguez
2014-10-07 19:07 ` Luis R. Rodriguez
2014-10-06 20:41 ` Dmitry Torokhov
2014-10-06 20:41 ` Dmitry Torokhov
2014-10-06 20:41 ` 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=20141006231046.GD14081@wotan.suse.de \
--to=mcgrof@suse.com \
--cc=abhijit.mahajan@avagotech.com \
--cc=akpm@linux-foundation.org \
--cc=arjan@linux.intel.com \
--cc=bpoirier@suse.de \
--cc=dbueso@suse.com \
--cc=dmitry.torokhov@gmail.com \
--cc=gnomes@lxorguk.ukuu.org.uk \
--cc=gregkh@linuxfoundation.org \
--cc=hare@suse.com \
--cc=joseph.salisbury@canonical.com \
--cc=kay@vrfy.org \
--cc=leedom@che \
--cc=linux-kernel@vger.kernel.org \
--cc=mcgrof@do-not-panic.com \
--cc=nagalakshmi.nandigama@avagotech.com \
--cc=oleg@redhat.com \
--cc=penguin-kernel@I-love.SAKURA.ne.jp \
--cc=pierre-fersing@pierref.org \
--cc=pmladek@suse.cz \
--cc=praveen.krishnamoorthy@avagotech.com \
--cc=rmilasan@suse.com \
--cc=santosh@chelsio.com \
--cc=sreekanth.reddy@avagotech.com \
--cc=teg@jklm.no \
--cc=tim.gardner@canonical.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.