On Tue, 2013-04-02 at 19:45 +0200, Ulf Hansson wrote: > On 2 April 2013 12:35, Sergey Yanovich <ynvich@xxxxxxxxx> wrote: > > If the system is booted using initrd and root is not on an mmc card, > > then mmc modules can be omitted from initrd. The probing will happen > > only after root is mounted. > > This will not solve the problem when having one device intended for > rootfs and some other for something else. Of course, as long as the > devices uses the same mmc module. Once inserted, all devices will be > probed. I agree that is this special case there will be boot time regression. However, this case is not guaranteed to boot without the patch or some workaround. > > If root is on an mmc, kernel needs to wait for the mmc probe. > > > > True, although your patch is preventing the parallelism and instead > doing things in synchronized manner. mount_root() assumes it has waited for "known devices to complete their probing" [init/do_mounts.c:545]. The patch has brought mmc into compliance with the assumption. If several devices can be probed in parallel, the bus should do it, but not the driver. > I think we must discuss alternative solutions instead. > > Like an "mmc detect flush" mechanism or a "new card device notification" event. There are 2 events to trigger root mount: 1. all known devices complete their probing 2. 1 is true and root_wait is specified and root device is found So I see the only fast alternative to my patch: if root is on an mmc card, set root_wait to 'true'. -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html