Kernel message overhaul
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 13 Nov 2012 22:31:12 +0000 (14:31 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 21 Nov 2012 23:41:17 +0000 (15:41 -0800)
commit067b49f3cfa796bd1ea5b24fca99b1f8fe8ad8fc
tree64c8d98af3199c5cbc210d96e14944f13c165bd1
parentd65afb6801f9dea7eff205d4545f5428ab8418ff
Kernel message overhaul

We no longer run routines from the IRQ handler, and no longer run
immediates from PRKM().

The difference in the former is in cases where we are in userspace and
we receive an IPI to run kernel messages.  Previously, we handled the
routine messages in the IRQ handler.  Now we do nothing, and handle them
"on the way out" (in the proc_restartcore() / smp_idle() path).

The differences in the latter are that we simply wait til we actually
get the KMSG IPI to run the immediate handlers.  Note there is no
ordering guarantees between different KMSG classes.
Documentation/kernel_messages.txt
kern/include/trap.h
kern/src/process.c
kern/src/smp.c
kern/src/trap.c