From owner-cvs-all Tue Oct 24 22:19:45 2000 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id C721337B4C5; Tue, 24 Oct 2000 22:19:40 -0700 (PDT) Received: (from jhb@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id WAA59551; Tue, 24 Oct 2000 22:19:40 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Message-Id: <200010250519.WAA59551@freefall.freebsd.org> From: John Baldwin Date: Tue, 24 Oct 2000 22:19:40 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/alpha/alpha busdma_machdep.c clock.c interrupt.c ipl_funcs.c mem.c vm_machdep.c src/sys/alpha/include ipl.h md_var.h src/sys/cam cam_xpt.c src/sys/i386/i386 busdma_machdep.c vm_machdep.c src/sys/i386/include ipl.h md_var.h ... X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG jhb 2000/10/24 22:19:40 PDT Modified files: sys/alpha/alpha busdma_machdep.c clock.c interrupt.c ipl_funcs.c mem.c vm_machdep.c sys/alpha/include ipl.h md_var.h sys/cam cam_xpt.c sys/i386/i386 busdma_machdep.c vm_machdep.c sys/i386/include ipl.h md_var.h sys/i386/isa clock.c cy.c intr_machdep.c intr_machdep.h ipl.s ipl_funcs.c ithread.c rc.c sys/ia64/ia64 busdma_machdep.c ipl_funcs.c mem.c vm_machdep.c sys/ia64/include ipl.h md_var.h sys/isa sio.c sys/kern kern_clock.c kern_intr.c kern_timeout.c subr_taskqueue.c sys/net netisr.h sys/pc98/pc98 clock.c sio.c sys/sys interrupt.h proc.h systm.h Log: - Overhaul the software interrupt code to use interrupt threads for each type of software interrupt. Roughly, what used to be a bit in spending now maps to a swi thread. Each thread can have multiple handlers, just like a hardware interrupt thread. - Instead of using a bitmask of pending interrupts, we schedule the specific software interrupt thread to run, so spending, NSWI, and the shandlers array are no longer needed. We can now have an arbitrary number of software interrupt threads. When you register a software interrupt thread via sinthand_add(), you get back a struct intrhand that you pass to sched_swi() when you wish to schedule your swi thread to run. - Convert the name of 'struct intrec' to 'struct intrhand' as it is a bit more intuitive. Also, prefix all the members of struct intrhand with 'ih_'. - Make swi_net() a MI function since there is now no point in it being MD. Submitted by: cp Revision Changes Path 1.12 +4 -2 src/sys/alpha/alpha/busdma_machdep.c 1.18 +1 -2 src/sys/alpha/alpha/clock.c 1.26 +26 -26 src/sys/alpha/alpha/interrupt.c 1.24 +1 -56 src/sys/alpha/alpha/ipl_funcs.c 1.33 +1 -7 src/sys/alpha/alpha/mem.c 1.36 +2 -2 src/sys/alpha/alpha/vm_machdep.c 1.16 +1 -4 src/sys/alpha/include/ipl.h 1.13 +2 -2 src/sys/alpha/include/md_var.h 1.96 +18 -30 src/sys/cam/cam_xpt.c 1.19 +4 -2 src/sys/i386/i386/busdma_machdep.c 1.142 +2 -2 src/sys/i386/i386/vm_machdep.c 1.25 +1 -3 src/sys/i386/include/ipl.h 1.38 +2 -3 src/sys/i386/include/md_var.h 1.161 +2 -6 src/sys/i386/isa/clock.c 1.105 +17 -16 src/sys/i386/isa/cy.c 1.39 +34 -34 src/sys/i386/isa/intr_machdep.c 1.24 +3 -3 src/sys/i386/isa/intr_machdep.h 1.39 +1 -33 src/sys/i386/isa/ipl.s 1.39 +1 -6 src/sys/i386/isa/ipl_funcs.c 1.8 +8 -8 src/sys/i386/isa/ithread.c 1.57 +9 -6 src/sys/i386/isa/rc.c 1.2 +2 -2 src/sys/ia64/ia64/busdma_machdep.c 1.4 +1 -56 src/sys/ia64/ia64/ipl_funcs.c 1.2 +1 -7 src/sys/ia64/ia64/mem.c 1.8 +2 -2 src/sys/ia64/ia64/vm_machdep.c 1.3 +2 -8 src/sys/ia64/include/ipl.h 1.2 +2 -2 src/sys/ia64/include/md_var.h 1.319 +16 -12 src/sys/isa/sio.c 1.115 +4 -2 src/sys/kern/kern_clock.c 1.28 +162 -227 src/sys/kern/kern_intr.c 1.60 +2 -2 src/sys/kern/kern_timeout.c 1.5 +7 -4 src/sys/kern/subr_taskqueue.c 1.23 +4 -2 src/sys/net/netisr.h 1.93 +2 -2 src/sys/pc98/pc98/clock.c 1.139 +14 -14 src/sys/pc98/pc98/sio.c 1.12 +23 -20 src/sys/sys/interrupt.h 1.120 +2 -2 src/sys/sys/proc.h 1.124 +2 -18 src/sys/sys/systm.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message