kernel thread creation cleanup

Julian Elischer julian at freebsd.org
Wed Apr 6 01:15:33 UTC 2011


I was just looking in the thread creation code after most of a decade  
NOT looking at it..
boy we really need to go through there with a broom.. the cobwebs are 
getting thick.
Like we always call the code to put an upcall, even though we don't 
have upcalls any more,
and we always create an trap frame on the stack even when we are 
making kernel threads
that don't need it, actually, come to think of it DOES fork even need 
it? (need to go look)
and we go through the fork trampoline even when we are doing kthread 
creation and could just as well go
directly to the final function directly.  (All of the above on amd64)..
May be slighly different on other hardware, though much of it is 
encoded in MI code so probably not.



This came from looking to see if I could somehow munge the stack to 
convince kgdb to damn well stop at
that point (still failed.  if anyone has ideas... :-)


More information about the freebsd-current mailing list