]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Major update to the way synchronization is done in the kernel. Highlights
authorjasone <jasone@FreeBSD.org>
Thu, 7 Sep 2000 01:33:02 +0000 (01:33 +0000)
committerjasone <jasone@FreeBSD.org>
Thu, 7 Sep 2000 01:33:02 +0000 (01:33 +0000)
commit769e0f974d8929599ba599ac496510fffc90ff34
tree9387522900085835de81e7830e570ef3f6b3ea80
parentacf1927de02afda4855ec278b1128fd9446405ea
Major update to the way synchronization is done in the kernel.  Highlights
include:

* Mutual exclusion is used instead of spl*().  See mutex(9).  (Note: The
  alpha port is still in transition and currently uses both.)

* Per-CPU idle processes.

* Interrupts are run in their own separate kernel threads and can be
  preempted (i386 only).

Partially contributed by: BSDi (BSD/OS)
Submissions by (at least): cp, dfr, dillon, grog, jake, jhb, sheldonh
201 files changed:
bin/ps/print.c
share/man/man9/Makefile
share/man/man9/mutex.9 [new file with mode: 0644]
sys/alpha/alpha/clock.c
sys/alpha/alpha/genassym.c
sys/alpha/alpha/interrupt.c
sys/alpha/alpha/ipl_funcs.c
sys/alpha/alpha/locore.s
sys/alpha/alpha/machdep.c
sys/alpha/alpha/mem.c
sys/alpha/alpha/mp_machdep.c [new file with mode: 0644]
sys/alpha/alpha/pmap.c
sys/alpha/alpha/prom.c
sys/alpha/alpha/support.s
sys/alpha/alpha/swtch.s
sys/alpha/alpha/synch_machdep.c [new file with mode: 0644]
sys/alpha/alpha/trap.c
sys/alpha/alpha/vm_machdep.c
sys/alpha/include/asm.h
sys/alpha/include/cpu.h
sys/alpha/include/cpufunc.h
sys/alpha/include/globaldata.h [new file with mode: 0644]
sys/alpha/include/globals.h [new file with mode: 0644]
sys/alpha/include/ipl.h
sys/alpha/include/lock.h
sys/alpha/include/mutex.h [new file with mode: 0644]
sys/alpha/include/param.h
sys/alpha/include/pcb.h
sys/alpha/include/pcpu.h [new file with mode: 0644]
sys/alpha/include/pmap.h
sys/alpha/include/proc.h
sys/alpha/include/rpb.h
sys/alpha/include/smp.h
sys/amd64/amd64/amd64-gdbstub.c
sys/amd64/amd64/apic_vector.S
sys/amd64/amd64/autoconf.c
sys/amd64/amd64/cpu_switch.S
sys/amd64/amd64/exception.S
sys/amd64/amd64/exception.s
sys/amd64/amd64/fpu.c
sys/amd64/amd64/genassym.c
sys/amd64/amd64/identcpu.c
sys/amd64/amd64/initcpu.c
sys/amd64/amd64/legacy.c
sys/amd64/amd64/locore.S
sys/amd64/amd64/locore.s
sys/amd64/amd64/machdep.c
sys/amd64/amd64/mp_machdep.c
sys/amd64/amd64/mpboot.S
sys/amd64/amd64/mptable.c
sys/amd64/amd64/nexus.c
sys/amd64/amd64/pmap.c
sys/amd64/amd64/swtch.s
sys/amd64/amd64/trap.c
sys/amd64/amd64/tsc.c
sys/amd64/amd64/vm_machdep.c
sys/amd64/include/cpu.h
sys/amd64/include/cpufunc.h
sys/amd64/include/mptable.h
sys/amd64/include/mutex.h [new file with mode: 0644]
sys/amd64/include/pcb.h
sys/amd64/include/pcpu.h
sys/amd64/include/smp.h
sys/amd64/isa/atpic_vector.S
sys/amd64/isa/clock.c
sys/amd64/isa/icu_ipl.S
sys/amd64/isa/icu_ipl.s
sys/amd64/isa/icu_vector.S
sys/amd64/isa/icu_vector.s
sys/amd64/isa/intr_machdep.c
sys/amd64/isa/intr_machdep.h
sys/amd64/isa/ithread.c [new file with mode: 0644]
sys/amd64/isa/nmi.c
sys/amd64/isa/npx.c
sys/amd64/isa/vector.S
sys/amd64/isa/vector.s
sys/conf/files
sys/conf/files.alpha
sys/conf/files.i386
sys/conf/files.pc98
sys/conf/options
sys/conf/options.alpha
sys/dev/ata/ata-all.c
sys/dev/cy/cy.c
sys/dev/cy/cy_isa.c
sys/dev/sio/sio.c
sys/fs/cd9660/cd9660_util.c
sys/i386/i386/apic_vector.s
sys/i386/i386/autoconf.c
sys/i386/i386/exception.s
sys/i386/i386/genassym.c
sys/i386/i386/globals.s
sys/i386/i386/i386-gdbstub.c
sys/i386/i386/identcpu.c
sys/i386/i386/initcpu.c
sys/i386/i386/legacy.c
sys/i386/i386/locore.s
sys/i386/i386/machdep.c
sys/i386/i386/mp_machdep.c
sys/i386/i386/mpapic.c
sys/i386/i386/mpboot.s
sys/i386/i386/mplock.s [deleted file]
sys/i386/i386/mptable.c
sys/i386/i386/nexus.c
sys/i386/i386/perfmon.c
sys/i386/i386/pmap.c
sys/i386/i386/swtch.s
sys/i386/i386/synch_machdep.c [new file with mode: 0644]
sys/i386/i386/trap.c
sys/i386/i386/tsc.c
sys/i386/i386/vm86bios.s
sys/i386/i386/vm_machdep.c
sys/i386/include/asnames.h
sys/i386/include/cpu.h
sys/i386/include/cpufunc.h
sys/i386/include/globaldata.h
sys/i386/include/globals.h
sys/i386/include/ipl.h
sys/i386/include/lock.h
sys/i386/include/mptable.h
sys/i386/include/mutex.h [new file with mode: 0644]
sys/i386/include/pcb.h
sys/i386/include/pcpu.h
sys/i386/include/smp.h
sys/i386/include/smptests.h
sys/i386/isa/apic_ipl.s
sys/i386/isa/apic_vector.s
sys/i386/isa/atpic_vector.s
sys/i386/isa/bs/bsif.h
sys/i386/isa/clock.c
sys/i386/isa/cy.c
sys/i386/isa/icu_ipl.s
sys/i386/isa/icu_vector.s
sys/i386/isa/intr_machdep.c
sys/i386/isa/intr_machdep.h
sys/i386/isa/ipl.s
sys/i386/isa/ipl_funcs.c
sys/i386/isa/ithread.c [new file with mode: 0644]
sys/i386/isa/loran.c
sys/i386/isa/nmi.c
sys/i386/isa/npx.c
sys/i386/isa/vector.s
sys/isa/atrtc.c
sys/isa/sio.c
sys/isofs/cd9660/cd9660_util.c
sys/kern/init_main.c
sys/kern/kern_clock.c
sys/kern/kern_exit.c
sys/kern/kern_fork.c
sys/kern/kern_idle.c [new file with mode: 0644]
sys/kern/kern_kthread.c
sys/kern/kern_mutex.c [new file with mode: 0644]
sys/kern/kern_proc.c
sys/kern/kern_resource.c
sys/kern/kern_shutdown.c
sys/kern/kern_sig.c
sys/kern/kern_subr.c
sys/kern/kern_switch.c
sys/kern/kern_synch.c
sys/kern/kern_tc.c
sys/kern/kern_threads.c
sys/kern/subr_prf.c
sys/kern/subr_prof.c
sys/kern/subr_smp.c
sys/kern/subr_trap.c
sys/kern/subr_turnstile.c [new file with mode: 0644]
sys/kern/subr_witness.c [new file with mode: 0644]
sys/kern/tty.c
sys/kern/vfs_bio.c
sys/kern/vfs_export.c
sys/kern/vfs_subr.c
sys/modules/if_ppp/Makefile
sys/modules/netgraph/tty/Makefile
sys/net/ppp_tty.c
sys/netgraph/ng_tty.c
sys/nfs/nfs_srvcache.c
sys/nfsserver/nfs_srvcache.c
sys/pci/pci_compat.c
sys/powerpc/aim/vm_machdep.c
sys/powerpc/include/globaldata.h [new file with mode: 0644]
sys/powerpc/include/globals.h [new file with mode: 0644]
sys/powerpc/include/mutex.h [new file with mode: 0644]
sys/powerpc/include/pcpu.h [new file with mode: 0644]
sys/powerpc/powerpc/genassym.c
sys/powerpc/powerpc/vm_machdep.c
sys/sys/buf.h
sys/sys/bus.h
sys/sys/kernel.h
sys/sys/kthread.h
sys/sys/proc.h
sys/sys/rtprio.h
sys/sys/signalvar.h
sys/sys/smp.h
sys/sys/unistd.h
sys/ufs/ffs/ffs_snapshot.c
sys/ufs/ffs/ffs_softdep.c
sys/ufs/ufs/ufs_vfsops.c
sys/vm/vm_glue.c
sys/vm/vm_meter.c
sys/vm/vm_pageout.c
usr.bin/top/machine.c