Re: [PATCH v2 7/7] driver-core: add preferred async probe option for built-in and modules

Luis R. Rodriguez
2014-10-07T17:50:16Z

On Tue, Oct 07, 2014 at 01:34:04PM -0400, Tejun Heo wrote:
> Hello,
>
> On Tue, Oct 07, 2014 at 01:10:46AM +0200, Luis R. Rodriguez wrote:
> > On Mon, Oct 06, 2014 at 05:01:18PM -0400, Tejun Heo wrote:
> > > 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
>
> Yes.
>
> > 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.
>
> But you can create a new workqueue and queue all the async probing
> work items there and flush the workqueue right after
> async_synchronize_full().

On second thought I would prefer to avoid this, I see this being good
to help with old userspace but other than that I don't see a requirement
for new userspace. Do you?

> ...
> > 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.
>
> Why do we need the choice at all? It always should, no?

I'm OK to live with that, in that case I see no point to bus.enable_kern_async=1
at all.

Luis