Date: Mon, 17 Dec 2001 16:27:18 -0800 (PST) From: John Baldwin <jhb@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/alpha/alpha db_interface.c genassym.c interrupt.c machdep.c prom.c trap.c src/sys/alpha/include cpufunc.h mutex.h src/sys/alpha/pci cia.c t2.c t2_pci.c src/sys/dev/bktr bktr_os.h src/sys/dev/sound/isa mpu.c ... Message-ID: <200112180027.fBI0RI957950@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2001/12/17 16:27:18 PST Modified files: sys/alpha/alpha db_interface.c genassym.c interrupt.c machdep.c prom.c trap.c sys/alpha/include cpufunc.h mutex.h sys/alpha/pci cia.c t2.c t2_pci.c sys/dev/bktr bktr_os.h sys/dev/sound/isa mpu.c sys/i386/i386 db_interface.c genassym.c initcpu.c perfmon.c sys_machdep.c vm_machdep.c sys/i386/include cpufunc.h mutex.h sys/i386/isa cy.c npx.c sys/ia64/ia64 db_interface.c genassym.c pmap.c sapic.c sys/ia64/include cpufunc.h mutex.h profile.h sys/kern kern_fork.c kern_idle.c kern_ktr.c kern_mutex.c kern_switch.c kern_synch.c subr_prof.c subr_trap.c subr_witness.c sys/powerpc/include cpufunc.h mutex.h sys/powerpc/powerpc genassym.c sys/sparc64/include cpufunc.h mutex.h sys/sparc64/sparc64 intr_machdep.c sys/sys _mutex.h mutex.h proc.h systm.h Log: Modify the critical section API as follows: - The MD functions critical_enter/exit are renamed to start with a cpu_ prefix. - MI wrapper functions critical_enter/exit maintain a per-thread nesting count and a per-thread critical section saved state set when entering a critical section while at nesting level 0 and restored when exiting to nesting level 0. This moves the saved state out of spin mutexes so that interlocking spin mutexes works properly. - Most low-level MD code that used critical_enter/exit now use cpu_critical_enter/exit. MI code such as device drivers and spin mutexes use the MI wrappers. Note that since the MI wrappers store the state in the current thread, they do not have any return values or arguments. - mtx_intr_enable() is replaced with a constant CRITICAL_FORK which is assigned to curthread->td_savecrit during fork_exit(). Tested on: i386, alpha Revision Changes Path 1.24 +2 -2 src/sys/alpha/alpha/db_interface.c 1.35 +0 -1 src/sys/alpha/alpha/genassym.c 1.59 +2 -2 src/sys/alpha/alpha/interrupt.c 1.155 +8 -8 src/sys/alpha/alpha/machdep.c 1.20 +4 -4 src/sys/alpha/alpha/prom.c 1.81 +4 -4 src/sys/alpha/alpha/trap.c 1.12 +5 -3 src/sys/alpha/include/cpufunc.h 1.27 +0 -2 src/sys/alpha/include/mutex.h 1.37 +4 -4 src/sys/alpha/pci/cia.c 1.13 +2 -2 src/sys/alpha/pci/t2.c 1.9 +2 -2 src/sys/alpha/pci/t2_pci.c 1.6 +4 -4 src/sys/dev/bktr/bktr_os.h 1.13 +5 -6 src/sys/dev/sound/isa/mpu.c 1.63 +2 -2 src/sys/i386/i386/db_interface.c 1.119 +0 -1 src/sys/i386/i386/genassym.c 1.33 +3 -3 src/sys/i386/i386/initcpu.c 1.26 +7 -7 src/sys/i386/i386/perfmon.c 1.66 +2 -2 src/sys/i386/i386/sys_machdep.c 1.178 +2 -2 src/sys/i386/i386/vm_machdep.c 1.106 +8 -5 src/sys/i386/include/cpufunc.h 1.34 +9 -43 src/sys/i386/include/mutex.h 1.123 +56 -71 src/sys/i386/isa/cy.c 1.121 +8 -8 src/sys/i386/isa/npx.c 1.15 +2 -2 src/sys/ia64/ia64/db_interface.c 1.23 +0 -1 src/sys/ia64/ia64/genassym.c 1.40 +2 -2 src/sys/ia64/ia64/pmap.c 1.2 +4 -4 src/sys/ia64/ia64/sapic.c 1.6 +5 -3 src/sys/ia64/include/cpufunc.h 1.16 +1 -11 src/sys/ia64/include/mutex.h 1.4 +3 -3 src/sys/ia64/include/profile.h 1.125 +2 -7 src/sys/kern/kern_fork.c 1.21 +3 -1 src/sys/kern/kern_idle.c 1.26 +3 -3 src/sys/kern/kern_ktr.c 1.75 +3 -5 src/sys/kern/kern_mutex.c 1.19 +26 -1 src/sys/kern/kern_switch.c 1.167 +0 -3 src/sys/kern/kern_synch.c 1.51 +4 -6 src/sys/kern/subr_prof.c 1.202 +4 -4 src/sys/kern/subr_trap.c 1.92 +6 -7 src/sys/kern/subr_witness.c 1.6 +4 -2 src/sys/powerpc/include/cpufunc.h 1.28 +1 -16 src/sys/powerpc/include/mutex.h 1.40 +0 -1 src/sys/powerpc/powerpc/genassym.c 1.8 +4 -2 src/sys/sparc64/include/cpufunc.h 1.5 +1 -8 src/sys/sparc64/include/mutex.h 1.7 +2 -2 src/sys/sparc64/sparc64/intr_machdep.c 1.4 +1 -2 src/sys/sys/_mutex.h 1.47 +10 -12 src/sys/sys/mutex.h 1.196 +2 -0 src/sys/sys/proc.h 1.158 +2 -0 src/sys/sys/systm.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112180027.fBI0RI957950>