vkernel/intr: Pin vkernel "hardware interrupts" to CPU0
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Sat, 31 Dec 2011 03:29:32 +0000 (11:29 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Sat, 31 Dec 2011 03:37:36 +0000 (11:37 +0800)
commitbae88a6fb83b50ace893acf72fafe4eee2f220dd
tree8eb18fbc7540091084faecac9a0155dbb19e317e
parent46fa8782c316f2c3298c08caea405a593fed066c
vkernel/intr: Pin vkernel "hardware interrupts" to CPU0

Due to the nondeterminsm of CPU to which SIGIO will be delivered,
we can't depend on "hardware interrupts" of vkernel always happen
on the registered CPU.  We now pin the vkernel "hardware interrupts"
to CPU0, so the interrupt scheduling code could always know the
correct ithread to be scheduled.

Reported-by: tuxillo vsrinivas
12 files changed:
sys/kern/kern_intr.c
sys/platform/vkernel/platform/console.c
sys/platform/vkernel/platform/cothread.c
sys/platform/vkernel/platform/kqueue.c
sys/platform/vkernel/platform/machintr.c
sys/platform/vkernel/platform/shutdown.c
sys/platform/vkernel64/platform/console.c
sys/platform/vkernel64/platform/cothread.c
sys/platform/vkernel64/platform/kqueue.c
sys/platform/vkernel64/platform/machintr.c
sys/platform/vkernel64/platform/shutdown.c
sys/sys/interrupt.h