[RFC] shipping kernels with default modules?

Warner Losh imp at bsdimp.com
Sun Jun 12 02:15:15 UTC 2011


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.
>> 
>> 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.
> 
> 
> 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


More information about the freebsd-arch mailing list