git: kernel - Move mplock to machine-independent C

看板DFBSD_commit作者時間16年前 (2009/12/20 11:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 684a93c4b15cf9f678dcf209702dadcd4f670406 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Sat Dec 19 18:57:32 2009 -0800 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. Summary of changes: sys/bus/cam/cam_sim.c | 2 + sys/bus/cam/cam_xpt.c | 2 + sys/bus/cam/scsi/scsi_cd.c | 4 +- sys/bus/cam/scsi/scsi_da.c | 4 + sys/conf/files | 1 + sys/dev/disk/ahci/ahci_dragonfly.h | 1 + sys/dev/disk/nata/ata-all.c | 4 +- sys/dev/disk/nata/ata-chipset.c | 4 +- sys/dev/disk/nata/atapi-cam.c | 4 +- sys/dev/disk/sili/sili_dragonfly.h | 1 + sys/dev/raid/aac/aac.c | 2 + sys/dev/raid/aac/aac_cam.c | 2 + sys/emulation/43bsd/43bsd_file.c | 2 + sys/emulation/43bsd/43bsd_hostinfo.c | 3 + sys/emulation/43bsd/43bsd_signal.c | 2 + sys/emulation/43bsd/43bsd_socket.c | 2 + sys/emulation/43bsd/43bsd_stats.c | 2 + sys/emulation/43bsd/43bsd_vm.c | 2 + sys/emulation/dragonfly12/dfbsd12_getdirentries.c | 2 + sys/emulation/dragonfly12/dfbsd12_stat.c | 2 + sys/emulation/linux/i386/linux_machdep.c | 4 +- sys/emulation/linux/i386/linux_ptrace.c | 2 + sys/emulation/linux/linux_file.c | 1 + sys/emulation/linux/linux_getcwd.c | 2 + sys/emulation/linux/linux_ioctl.c | 2 + sys/emulation/linux/linux_misc.c | 4 +- sys/emulation/linux/linux_signal.c | 3 + sys/emulation/linux/linux_socket.c | 2 + sys/emulation/linux/linux_stats.c | 4 +- sys/emulation/linux/linux_sysctl.c | 2 + sys/emulation/linux/linux_uid16.c | 2 + sys/kern/imgact_resident.c | 1 + sys/kern/init_main.c | 2 + sys/kern/kern_acct.c | 2 + sys/kern/kern_acl.c | 2 + sys/kern/kern_checkpoint.c | 5 +- sys/kern/kern_clock.c | 2 + sys/kern/kern_descrip.c | 1 + sys/kern/kern_event.c | 4 +- sys/kern/kern_exec.c | 1 + sys/kern/kern_exit.c | 1 + sys/kern/kern_fork.c | 1 + sys/kern/kern_intr.c | 4 +- sys/kern/kern_jail.c | 2 + sys/kern/kern_ktrace.c | 3 + sys/kern/kern_linker.c | 2 + sys/kern/kern_module.c | 2 + sys/kern/kern_mplock.c | 273 ++++++++++++++++++++ sys/kern/kern_ntptime.c | 2 + sys/kern/kern_p1003_1b.c | 2 + sys/kern/kern_proc.c | 1 + sys/kern/kern_prot.c | 1 + sys/kern/kern_resource.c | 1 + sys/kern/kern_shutdown.c | 1 + sys/kern/kern_sig.c | 4 +- sys/kern/kern_slaballoc.c | 1 + sys/kern/kern_synch.c | 5 +- sys/kern/kern_sysctl.c | 3 + sys/kern/kern_syslink.c | 1 + sys/kern/kern_time.c | 2 + sys/kern/kern_timeout.c | 2 + sys/kern/kern_umtx.c | 1 + sys/kern/kern_upcall.c | 2 + sys/kern/kern_usched.c | 3 + sys/kern/kern_uuid.c | 2 + sys/kern/kern_varsym.c | 2 + sys/kern/kern_xxx.c | 2 + sys/kern/lwkt_caps.c | 3 + sys/kern/lwkt_thread.c | 139 ++--------- sys/kern/subr_bus.c | 1 + sys/kern/subr_prof.c | 2 + sys/kern/sys_generic.c | 2 + sys/kern/sys_pipe.c | 1 + sys/kern/sys_process.c | 2 + sys/kern/sys_socket.c | 2 + sys/kern/sysv_msg.c | 2 + sys/kern/sysv_sem.c | 2 + sys/kern/sysv_shm.c | 2 + sys/kern/uipc_syscalls.c | 1 + sys/kern/usched_bsd4.c | 1 + sys/kern/usched_dummy.c | 1 + sys/kern/vfs_aio.c | 2 + sys/kern/vfs_bio.c | 1 + sys/kern/vfs_cache.c | 1 + sys/kern/vfs_syscalls.c | 1 + sys/kern/vfs_vnops.c | 1 + sys/net/bpf.c | 1 + sys/net/if_ethersubr.c | 2 + sys/net/if_loop.c | 2 + sys/net/ipfw/ip_fw2.c | 6 +- sys/net/netisr.c | 1 + sys/net/pfil.c | 1 + sys/net/tap/if_tap.c | 4 +- sys/net/tun/if_tun.c | 2 + sys/netinet/if_ether.c | 1 + sys/netinet/ip_divert.c | 4 +- sys/netinet/ip_input.c | 2 + sys/netinet/ip_output.c | 4 +- sys/netinet/tcp_subr.c | 3 +- sys/netproto/ncp/ncp_mod.c | 2 + sys/opencrypto/cryptodev.c | 2 + sys/platform/pc32/conf/files | 1 - sys/platform/pc32/i386/busdma_machdep.c | 4 +- sys/platform/pc32/i386/genassym.c | 3 - sys/platform/pc32/i386/machdep.c | 1 + sys/platform/pc32/i386/mp_machdep.c | 2 + sys/platform/pc32/i386/mplock.s | 282 -------------------- sys/platform/pc32/i386/sys_machdep.c | 2 + sys/platform/pc32/i386/trap.c | 2 + sys/platform/pc32/i386/vm86.c | 2 + sys/platform/pc32/i386/vm_machdep.c | 2 + sys/platform/pc32/include/lock.h | 49 ---- sys/platform/pc32/isa/npx.c | 2 + sys/platform/pc64/conf/files | 1 - sys/platform/pc64/include/lock.h | 49 ---- sys/platform/pc64/isa/npx.c | 2 + sys/platform/pc64/x86_64/busdma_machdep.c | 4 +- sys/platform/pc64/x86_64/machdep.c | 1 + sys/platform/pc64/x86_64/mp_machdep.c | 2 + sys/platform/pc64/x86_64/mplock.s | 285 --------------------- sys/platform/pc64/x86_64/npx.c | 2 + sys/platform/pc64/x86_64/trap.c | 2 + sys/platform/pc64/x86_64/vm_machdep.c | 1 + sys/platform/vkernel/conf/files | 1 - sys/platform/vkernel/i386/cpu_regs.c | 1 + sys/platform/vkernel/i386/genassym.c | 3 - sys/platform/vkernel/i386/mp.c | 2 + sys/platform/vkernel/i386/mplock.s | 281 -------------------- sys/platform/vkernel/i386/npx.c | 2 + sys/platform/vkernel/i386/trap.c | 2 + sys/platform/vkernel/i386/vm_machdep.c | 2 + sys/platform/vkernel/include/lock.h | 49 ---- sys/platform/vkernel/platform/busdma_machdep.c | 4 +- sys/platform/vkernel/platform/copyio.c | 2 + sys/sys/mplock2.h | 214 ++++++++++++++++ sys/sys/systm.h | 1 - sys/sys/thread.h | 2 - sys/vfs/devfs/devfs_vnops.c | 4 +- sys/vfs/hammer/hammer_vnops.c | 3 + sys/vfs/nfs/nfs_syscalls.c | 1 + sys/vm/vm_mmap.c | 1 + sys/vm/vm_swap.c | 5 +- sys/vm/vm_unix.c | 2 + sys/vm/vm_vmspace.c | 1 + 144 files changed, 758 insertions(+), 1152 deletions(-) create mode 100644 sys/kern/kern_mplock.c delete mode 100644 sys/platform/pc32/i386/mplock.s delete mode 100644 sys/platform/pc64/x86_64/mplock.s delete mode 100644 sys/platform/vkernel/i386/mplock.s create mode 100644 sys/sys/mplock2.h http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/684a93c4b15cf9f678dcf209702dadcd4f670406 -- DragonFly BSD source repository
文章代碼(AID): #1BBPgtdQ (DFBSD_commit)