lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 31 Aug 2014 11:28:51 -0700
From:	Dmitry Torokhov <dmitry.torokhov@...il.com>
To:	Tejun Heo <tj@...nel.org>
Cc:	"Luis R. Rodriguez" <mcgrof@...not-panic.com>,
	gregkh@...uxfoundation.org, falcon@...zu.com, tiwai@...e.de,
	arjan@...ux.intel.com, linux-kernel@...r.kernel.org,
	oleg@...hat.com, akpm@...ux-foundation.org,
	penguin-kernel@...ove.sakura.ne.jp, joseph.salisbury@...onical.com,
	bpoirier@...e.de, "Luis R. Rodriguez" <mcgrof@...e.com>
Subject: Re: [RFC v1 0/3] driver-core: add asynch module loading support

HI Tejun,

On Sun, Aug 31, 2014 at 06:13:58AM -0400, Tejun Heo wrote:
> Hello, Luis.
> 
> I haven't followed the previous discussions so please let me know if
> this has been discussed before.  It looks like you're trying to extend
> the async mechanism and applying them to init functions themselves.
> That sounds kinda weird to me.  Isn't the root cause of the problem
> doing device probings along with driver initilaization on module load?

For my use case it is driver initialization itself (because most of the
relevant drivers is compiled in). Although, come to think, if we could do
something about resume that would be nice too: then I'd be able to drop all
stuff in serio that lies about device state and marks it as resumed even though
mouse/touchpad will be actually reset and operable much later.

> 
> Wouldn't it be more logical to simply make bus_add_driver() ->
> driver_attach() invocation asynchronous?  There's no reason to make
> them parallel either.  We can use an ordered queue for it so that we
> don't lose the probing order we used to have.

Sometimes losing probing order is the desired outcome though. Like with my
beloved touchpad :)

> Making things go
> parallel is the responsibility of each probing function after all and
> there isn't much to gain by making attach calls go parallel.

If we make probe function schedule stuff asynchronously, then, in case of
failures, we'll end up with half-bound driver. Also drivers would have to have
additional code on removal to make sure probe full done before removing. PM
methods need to be ready to be called on half-initialized device. It is a mess.

Thanks.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ