DragonFly commits List (threaded) for 2011-12
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
git: intr: Per-cpu MI interrupt information array
commit c83c147ec7809044a209b1ea4b3cc251ab6474df
Author: Sepherosa Ziehau <sephe@dragonflybsd.org>
Date: Thu Dec 15 13:47:26 2011 +0800
intr: Per-cpu MI interrupt information array
- Interrupt information is only recorded in its target CPU's interrupt
information array.
- Interrupt threads, emergency polling threads, interrupt livelock
processing and hardware interrupt threads scheduling only access
the interrupt information of the CPU they are running on; they have
already been locked to the interrupt's target CPU.
- Location of SWI information is saved in a global array swi_info_ary,
since scheduling SWI does not necessarily happens on the CPU that
SWI thread is running, we need a quick and correct way find the SWI
information.
- Factor out sched_ithd_intern, which accept interrupt information
(struct intr_info) instead of interrupt number. Split the original
sched_ithd() into sched_ithd_soft(), which schedules SWI thread, and
sched_ithd_hard() which schedules hardware interrupt thread.
- vmstat(8) interrupt reporting w/ -v is augmented to print the interrupts'
target CPU.
This paves way to the per-cpu MD interrupt description table
Summary of changes:
sys/kern/kern_intr.c | 223 ++++++++++++++++++----------
sys/platform/pc32/acpica5/acpi_fadt.c | 4 +-
sys/platform/pc32/i386/ipl.s | 4 +-
sys/platform/pc32/isa/clock.c | 4 +-
sys/platform/pc64/acpica5/acpi_fadt.c | 4 +-
sys/platform/pc64/isa/clock.c | 4 +-
sys/platform/pc64/x86_64/ipl.s | 4 +-
sys/platform/vkernel/platform/machintr.c | 8 +-
sys/platform/vkernel64/platform/machintr.c | 8 +-
sys/sys/interrupt.h | 5 +-
usr.bin/vmstat/vmstat.c | 9 +-
11 files changed, 170 insertions(+), 107 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c83c147ec7809044a209b1ea4b3cc251ab6474df
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]