kernel - Move mplock to machine-independent C
authorMatthew Dillon <dillon@apollo.backplane.com>
Sun, 20 Dec 2009 02:57:32 +0000 (18:57 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sun, 20 Dec 2009 02:57:32 +0000 (18:57 -0800)
commit684a93c4b15cf9f678dcf209702dadcd4f670406
treed9725bc18d69fdffd15b71d7e219903e173fdb5b
parent08cca2358c1409e9ce37636b8942ca1060d4e2b8
kernel - Move mplock to machine-independent C

* Remove the per-platform mplock code and move it all into
  machine-independent code: sys/mplock2.h and kern/kern_mplock.c.

* Inline the critical path.

* When a conflict occurs kern_mplock.c will KTR log the file and line
  number of both the holder and conflicting acquirer.  Set
  debug.ktr.giant_enable=-1 to enable conflict logging.
144 files changed:
sys/bus/cam/cam_sim.c
sys/bus/cam/cam_xpt.c
sys/bus/cam/scsi/scsi_cd.c
sys/bus/cam/scsi/scsi_da.c
sys/conf/files
sys/dev/disk/ahci/ahci_dragonfly.h
sys/dev/disk/nata/ata-all.c
sys/dev/disk/nata/ata-chipset.c
sys/dev/disk/nata/atapi-cam.c
sys/dev/disk/sili/sili_dragonfly.h
sys/dev/raid/aac/aac.c
sys/dev/raid/aac/aac_cam.c
sys/emulation/43bsd/43bsd_file.c
sys/emulation/43bsd/43bsd_hostinfo.c
sys/emulation/43bsd/43bsd_signal.c
sys/emulation/43bsd/43bsd_socket.c
sys/emulation/43bsd/43bsd_stats.c
sys/emulation/43bsd/43bsd_vm.c
sys/emulation/dragonfly12/dfbsd12_getdirentries.c
sys/emulation/dragonfly12/dfbsd12_stat.c
sys/emulation/linux/i386/linux_machdep.c
sys/emulation/linux/i386/linux_ptrace.c
sys/emulation/linux/linux_file.c
sys/emulation/linux/linux_getcwd.c
sys/emulation/linux/linux_ioctl.c
sys/emulation/linux/linux_misc.c
sys/emulation/linux/linux_signal.c
sys/emulation/linux/linux_socket.c
sys/emulation/linux/linux_stats.c
sys/emulation/linux/linux_sysctl.c
sys/emulation/linux/linux_uid16.c
sys/kern/imgact_resident.c
sys/kern/init_main.c
sys/kern/kern_acct.c
sys/kern/kern_acl.c
sys/kern/kern_checkpoint.c
sys/kern/kern_clock.c
sys/kern/kern_descrip.c
sys/kern/kern_event.c
sys/kern/kern_exec.c
sys/kern/kern_exit.c
sys/kern/kern_fork.c
sys/kern/kern_intr.c
sys/kern/kern_jail.c
sys/kern/kern_ktrace.c
sys/kern/kern_linker.c
sys/kern/kern_module.c
sys/kern/kern_mplock.c [new file with mode: 0644]
sys/kern/kern_ntptime.c
sys/kern/kern_p1003_1b.c
sys/kern/kern_proc.c
sys/kern/kern_prot.c
sys/kern/kern_resource.c
sys/kern/kern_shutdown.c
sys/kern/kern_sig.c
sys/kern/kern_slaballoc.c
sys/kern/kern_synch.c
sys/kern/kern_sysctl.c
sys/kern/kern_syslink.c
sys/kern/kern_time.c
sys/kern/kern_timeout.c
sys/kern/kern_umtx.c
sys/kern/kern_upcall.c
sys/kern/kern_usched.c
sys/kern/kern_uuid.c
sys/kern/kern_varsym.c
sys/kern/kern_xxx.c
sys/kern/lwkt_caps.c
sys/kern/lwkt_thread.c
sys/kern/subr_bus.c
sys/kern/subr_prof.c
sys/kern/sys_generic.c
sys/kern/sys_pipe.c
sys/kern/sys_process.c
sys/kern/sys_socket.c
sys/kern/sysv_msg.c
sys/kern/sysv_sem.c
sys/kern/sysv_shm.c
sys/kern/uipc_syscalls.c
sys/kern/usched_bsd4.c
sys/kern/usched_dummy.c
sys/kern/vfs_aio.c
sys/kern/vfs_bio.c
sys/kern/vfs_cache.c
sys/kern/vfs_syscalls.c
sys/kern/vfs_vnops.c
sys/net/bpf.c
sys/net/if_ethersubr.c
sys/net/if_loop.c
sys/net/ipfw/ip_fw2.c
sys/net/netisr.c
sys/net/pfil.c
sys/net/tap/if_tap.c
sys/net/tun/if_tun.c
sys/netinet/if_ether.c
sys/netinet/ip_divert.c
sys/netinet/ip_input.c
sys/netinet/ip_output.c
sys/netinet/tcp_subr.c
sys/netproto/ncp/ncp_mod.c
sys/opencrypto/cryptodev.c
sys/platform/pc32/conf/files
sys/platform/pc32/i386/busdma_machdep.c
sys/platform/pc32/i386/genassym.c
sys/platform/pc32/i386/machdep.c
sys/platform/pc32/i386/mp_machdep.c
sys/platform/pc32/i386/mplock.s [deleted file]
sys/platform/pc32/i386/sys_machdep.c
sys/platform/pc32/i386/trap.c
sys/platform/pc32/i386/vm86.c
sys/platform/pc32/i386/vm_machdep.c
sys/platform/pc32/include/lock.h
sys/platform/pc32/isa/npx.c
sys/platform/pc64/conf/files
sys/platform/pc64/include/lock.h
sys/platform/pc64/isa/npx.c
sys/platform/pc64/x86_64/busdma_machdep.c
sys/platform/pc64/x86_64/machdep.c
sys/platform/pc64/x86_64/mp_machdep.c
sys/platform/pc64/x86_64/mplock.s [deleted file]
sys/platform/pc64/x86_64/npx.c
sys/platform/pc64/x86_64/trap.c
sys/platform/pc64/x86_64/vm_machdep.c
sys/platform/vkernel/conf/files
sys/platform/vkernel/i386/cpu_regs.c
sys/platform/vkernel/i386/genassym.c
sys/platform/vkernel/i386/mp.c
sys/platform/vkernel/i386/mplock.s [deleted file]
sys/platform/vkernel/i386/npx.c
sys/platform/vkernel/i386/trap.c
sys/platform/vkernel/i386/vm_machdep.c
sys/platform/vkernel/include/lock.h
sys/platform/vkernel/platform/busdma_machdep.c
sys/platform/vkernel/platform/copyio.c
sys/sys/mplock2.h [new file with mode: 0644]
sys/sys/systm.h
sys/sys/thread.h
sys/vfs/devfs/devfs_vnops.c
sys/vfs/hammer/hammer_vnops.c
sys/vfs/nfs/nfs_syscalls.c
sys/vm/vm_mmap.c
sys/vm/vm_swap.c
sys/vm/vm_unix.c
sys/vm/vm_vmspace.c