git: kernel - Fix mid-kernel-boot lockups due to module order

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Apr 2 12:27:16 PDT 2014


commit 902419bf6d9fd0f80afc9d07cd4b3e99d20f23ca
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Apr 2 12:24:57 2014 -0700

    kernel - Fix mid-kernel-boot lockups due to module order
    
    * Sometimes the kernel would just lock up for no apparent reason.  Changing
      the preloaded module set (even randomly) could effect the behavior.
    
    * The problem turned out to be an issue with kernel modules needing to
      temporarily migrate to another cpu (such as when installing a SWI or
      other interrupt handler).  If the idle thread on cpu 0 had not yet
      bootstrapped, lwkt_switch_return() would not be called properly and
      the LWKT cpu migration code would never schedule on the target cpu.
    
    * Fix the problem by handling the idle thread bootstrap case for cpu 0
      properly in pc64.

Summary of changes:
 sys/platform/pc64/x86_64/machdep.c |  6 +++---
 sys/platform/pc64/x86_64/swtch.s   | 18 +++++++++++++++---
 2 files changed, 18 insertions(+), 6 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/902419bf6d9fd0f80afc9d07cd4b3e99d20f23ca


-- 
DragonFly BSD source repository



More information about the Commits mailing list