Date: Sat, 11 Jun 2011 20:10:55 -0600 From: Warner Losh <imp@bsdimp.com> To: "K. Macy" <kmacy@freebsd.org> Cc: mdf@freebsd.org, freebsd-arch@freebsd.org Subject: Re: [RFC] shipping kernels with default modules? Message-ID: <48A8C532-0972-49F8-BBA3-B0663E0D5067@bsdimp.com> In-Reply-To: <BANLkTi=wsPx8fyQz9wWwRLpMpv9esmawOQ@mail.gmail.com> References: <BANLkTin2AwKRT7N6HWqBctJcT72_mR=Otg@mail.gmail.com> <20110611171834.GA38142@zim.MIT.EDU> <BANLkTik=z-fb1sDwh0dr4hRWmdhLMWiKdw@mail.gmail.com> <20110611204326.GA51320@zim.MIT.EDU> <BANLkTino4eMNPQedE1TcxUYqgbuPNfhHKw@mail.gmail.com> <9349A935-F13D-4265-A59C-C1E9B35F2B73@bsdimp.com> <BANLkTi=wsPx8fyQz9wWwRLpMpv9esmawOQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jun 11, 2011, at 5:51 PM, K. Macy wrote: >>> Although I imagine that many drivers silently benefit from being >>> loaded serially, to the best of my knowledge there is nothing >>> architecturally requiring this apart from the fact that the = scheduler >>> isn't started until everything else tied to initialization happens. >>> The absence of any sort of preemption was a bit of a thorn in my = side >>> back when I was working on "xenbus", as the linux implementation >>> relies on the use of multiple thread contexts. I don't know how much >>> effort to date has been put in to making boot fast. >>=20 >> Right now newbus uses Giant for all its locking. That's the biggest = problem preventing parallel probe/attach. Also, each and every bus = calls probe, then calls attach for each device in sequence. Fixing that = would require changing all the bus drivers. >=20 >=20 > Fair enough. That would only be worthwhile in the presence of a > coordinated push to shorten boot / reset times. Agreed. We could be a *LOT* faster if we stalled on first use rather = than wait for all the stragglers. No need to wait for network devices, = or that USB drive that's connected to the system until ifconfig or mount = time. I think that has to be in the mix too. But that dove-tails into = something like launchd where applications wait for the resources they = use to finish initializing. Warner=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48A8C532-0972-49F8-BBA3-B0663E0D5067>