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