In article <20131022205705.c0dc812...@ren.fdy2.co.uk>, Robert Swindells <r...@fdy2.co.uk> wrote: > >Can somebody explain how the deferred processing code in subr_autoconf.c >is supposed to work ? > >Looking at config_create_interruptthreads() it creates 8 threads all >of which seem to walk the same list and delete elements from it. > >I'm getting crashes in i386 at startup and am trying to track down what >is causing it. The faulting PC is random so I'm looking for anything >that calls through function pointers. > >Robert Swindells
Edit subr_autoconf.c and set the number of threads to 1. int interrupt_config_threads = 8; int mountroot_config_threads = 2; Or you can patch them in ddb with boot -d Also you can add DEBUG_AUTOCONF in current, which prints the name of the deferred driver as well as the count ot the deferred mutex. For even better success, boot -1 christos