From owner-freebsd-current@FreeBSD.ORG Thu Nov 5 03:34:41 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0958106566B for ; Thu, 5 Nov 2009 03:34:41 +0000 (UTC) (envelope-from quakelee@geekcn.org) Received: from tarsier.geekcn.org (delphij-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:2c9::2]) by mx1.freebsd.org (Postfix) with ESMTP id 5DBF48FC18 for ; Thu, 5 Nov 2009 03:34:41 +0000 (UTC) Received: from localhost (tarsier.geekcn.org [211.166.10.233]) by tarsier.geekcn.org (Postfix) with ESMTP id E48CF55CD4CF; Thu, 5 Nov 2009 11:34:39 +0800 (CST) X-Virus-Scanned: amavisd-new at geekcn.org Received: from tarsier.geekcn.org ([211.166.10.233]) by localhost (mail.geekcn.org [211.166.10.233]) (amavisd-new, port 10024) with ESMTP id MC-Vs8Qevz+u; Thu, 5 Nov 2009 11:34:34 +0800 (CST) Received: from qld630 (unknown [219.142.100.195]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tarsier.geekcn.org (Postfix) with ESMTPSA id F15F555CD4C6; Thu, 5 Nov 2009 11:34:33 +0800 (CST) DomainKey-Signature: a=rsa-sha1; s=default; d=geekcn.org; c=nofws; q=dns; h=content-type:to:cc:subject:references:date:mime-version: content-transfer-encoding:from:organization:message-id:in-reply-to:user-agent; b=CtUzEmfCYyyUfAEuttgvjWHJFS8z1pHYLQHTT4dy4ozytHduyZUfgQKXxk2+RwJrJ JZ9qh3DuK2peXsDCYPUAA== Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes To: "Scott Long" , "Marcel Moolenaar" References: <20091002150931.K35591@pooker.samsco.org> <200910031230.51044.hselasky@c2i.net> <200910031800.24896.hselasky@c2i.net> <30F3E66A-4A69-46CE-96F4-44B4049722E2@samsco.org> Date: Thu, 05 Nov 2009 11:34:33 +0800 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: "Chao Shin" Organization: GeekCN Message-ID: In-Reply-To: <30F3E66A-4A69-46CE-96F4-44B4049722E2@samsco.org> User-Agent: Opera Mail/10.01 (Win32) Cc: freebsd-current@freebsd.org, Hans Petter Selasky Subject: Re: [PATCH] Fix for USB media not found at boot X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Nov 2009 03:34:42 -0000 在 Sun, 04 Oct 2009 07:52:45 +0800,Scott Long 写道: Hi all Is there any newer patch/workarounds available? > On Oct 3, 2009, at 12:51 PM, Marcel Moolenaar wrote: > >> >> On Oct 3, 2009, at 9:00 AM, Hans Petter Selasky wrote: >> >>> On Saturday 03 October 2009 17:05:35 Scott Long wrote: >>>> On Oct 3, 2009, at 4:30 AM, Hans Petter Selasky wrote: >>>>> On Saturday 03 October 2009 10:19:57 Scott Long wrote: >>>>>> config_intrhook system will sleep after all >>>>> >>>>> Then why do you need the intr hook callback? >>>> >>>> The config_intrhook lets you know that interrupts are enabled, the >>>> scheduler is running, and mountroot hasn't run yet. It provides a >>>> very convenient and standard way to do exactly what we want with USB >>>> enumeration. >>> >>> Hi, >>> >>> The root HUB attach and explore code is already running from a separate >>> thread, so won't that be superfluous? I mean, the HUB explore code for >>> any USB >>> HUB will not run until the scheduler is running anyway. >>> >>> In my opinion delaying the system until the boot disk is present is >>> just not >>> good. We should rather be event driven, so that every time a new disk >>> becomes >>> present it checks it for mountroot. >>> >>> while (1) { >>> if (mountroot is successful) >>> break; >>> if (ctrl+c is pressed) >>> manual_mountroot(); >>> printf("Waiting 1 second for root-disk to appear. Press CTRL+C to >>> abort.\n"); >>> sleep(1); >>> } >> >> Yes. >> >> The mount root code should keep a list of potential root devices to try >> and >> it should try a device as soon as it appears. The current approach to >> block >> the root mount simply because we want everything to be discovered >> before we >> try to mount the root is preventing fast boots -- such as when the root >> is >> a memory disk and you don't need to wait for anything... >> >> Put differently: it's rather odd to hold off the root mount when the >> root >> device is already present... >> >> An approach like this also allows one to indefinitely wait for the root >> device, which is a good feature to have... >> >> > > When /etc/rc tries to mount everything in the fstab, it'll fail the boot > if some of the devices haven't arrived in time. An argument can be made > for fixing that as well, but we're starting to get beyond on the scope > of fixing what is needed for 8.0-RELEASE. > > Scott > > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to > "freebsd-current-unsubscribe@freebsd.org" -- The Power to Serve