Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754387AbYBKOP1 (ORCPT ); Mon, 11 Feb 2008 09:15:27 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752830AbYBKOPP (ORCPT ); Mon, 11 Feb 2008 09:15:15 -0500 Received: from mivlgu.ru ([195.20.195.134]:40813 "EHLO mail.mivlgu.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752732AbYBKOPO (ORCPT ); Mon, 11 Feb 2008 09:15:14 -0500 X-Greylist: delayed 1660 seconds by postgrey-1.27 at vger.kernel.org; Mon, 11 Feb 2008 09:15:13 EST Date: Mon, 11 Feb 2008 16:47:19 +0300 From: Sergey Vlasov To: Eric Piel Cc: Christoph Hellwig , dsdt@gaugusch.at, len.brown@intel.com, linux-kernel@vger.kernel.org, Linus Torvalds , trenn@suse.de Subject: Re: acpi dsts loading and populate_rootfs Message-Id: <20080211164719.d42c618e.vsu@altlinux.ru> In-Reply-To: <47AEE6D1.4070402@tremplin-utc.net> References: <20080210071226.GA23360@lst.de> <20080210071454.GA23428@lst.de> <47AEE6D1.4070402@tremplin-utc.net> X-Mailer: Sylpheed version 2.2.9 (GTK+ 2.12.1; i586-alt-linux-gnu) Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="PGP-SHA1"; boundary="Signature=_Mon__11_Feb_2008_16_47_19_+0300_7sBudkJzhJO6s6ox" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3443 Lines: 81 --Signature=_Mon__11_Feb_2008_16_47_19_+0300_7sBudkJzhJO6s6ox Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: 7bit On Sun, 10 Feb 2008 12:58:09 +0100 Eric Piel wrote: > (adding some CC's) > Christoph Hellwig wrote: > > On Sun, Feb 10, 2008 at 08:12:26AM +0100, Christoph Hellwig wrote: > >> Folks, moving this call around hidden behing in completely unreviewed > >> acpi junk is not acceptable. > >> > >> Either populate_rootfs _is_ safe to be called earlier and then we should > >> do it always or it's not. Either way such a change should be posted > >> separately and reviewd on lkml. > Hi, > > I agree with you, the order of the initialization should not be changed > by some config options. Either it works, or it doesn't! So the question > now is : "is fine to move populate_rootfs() earlier?" > > Some data points: > * It used to be called earlier. It was moved to be called later about a > year ago by Linus (8d610dd52dd1da696e199e4b4545f33a2a5de5c6) with this log: > > Make sure we populate the initroot filesystem late enough > > > > We should not initialize rootfs before all the core initializers have > > run. So do it as a separate stage just before starting the regular > > driver initializers. > So there must be some good reasons to keep it late enough... > > * This patch is used in SuSE, and it seems noone has ever had a problem > with the initramfs early init. > > I guess the problem that Linus solved by moving populate_rootfs() > happens only rarely or on only few configurations. Linus, do you > remember what kind of problem it was? How can I reproduce it? AFAIR the problem was that the kernel was trying to exec /sbin/hotplug before some kernel subsystems (e.g., pipe support) were completely initialized, which caused oopses during boot. Initramfs images generated by distro tools usually do not contain /sbin/hotplug, and therefore avoid the problem. (The kernel might also call /sbin/modprobe by itself, but it either does not do it during early boot, or /sbin/modprobe does not use kernel features which had not been initialized yet). > One different solution that I implemented [1] was to have an > "early_populate_rootfs()" before the acpi_early_init(), leaving > populate_rootfs() at the normal place. If the early version fails, it's > ok: we can't override the DSDT, but the later version will work as usual > anyway. This solution also seems to work quite often (it's used in > Ubuntu, Mandriva and PCLinuxOS) This would not solve the problem, because /sbin/hotplug (if present in the initramfs image) will exist too early. > Would that seem an acceptable solution? Or what other way exists? Disabling call_usermodehelper() until all core initializers had completed would fix the problem too; will such change be acceptable? --Signature=_Mon__11_Feb_2008_16_47_19_+0300_7sBudkJzhJO6s6ox Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.7 (GNU/Linux) iD8DBQFHsFHqW82GfkQfsqIRAuXIAJ4zjemlESZqTwnmAw7dE+srvClK9ACfVVCE 4I1j78a/93MJKWYbH+ZGs8Y= =Hgdm -----END PGP SIGNATURE----- --Signature=_Mon__11_Feb_2008_16_47_19_+0300_7sBudkJzhJO6s6ox-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/