tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ksyms_init considered too heavyweight for early bootstrap



Hello,

On Nov 17, 2008, at 5:29 AM, Martin Husemann wrote:

I found out why a LOCKDEBUG sparc64 kernel crashes very early:

"Traditionally" we have called ksyms_init() very early in MD bootstrap(), even before running pmap_bootstrap(). Nowadays ksyms_init() does a mutex_init(), which is, at least with LOCKDEBUG, a very heavy weight operation - too much for the still very restricted runtime environment at this stage - on sparc64 neither curcpu nor curlwp are valid, and we have not yet setup our trap
handlers.

Now I could solve this in a MD way (for example move the call to cpu_startup), but I wonder if other archs run into the same problem (maybe with less drastic
failure mode) and the attached MI fix would be better?

I'm pretty sure arch/powerpc calls ksyms_init() either after or as the last thing in pmap_bootstrap().

have fun
Michael



Home | Main Index | Thread Index | Old Index