git: kernel - Change the discrete mplock into mp_token

看板DFBSD_commit作者時間15年前 (2010/12/12 05:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit b5d16701e255c342d21e69a6c80b8711c028dc65 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Sat Dec 11 12:59:46 2010 -0800 kernel - Change the discrete mplock into mp_token * Use a lwkt_token for the mp_lock. This consolidates our longer-term spinnable locks (the mplock and tokens) into just tokens, making it easier to solve performance issues. * Some refactoring of the token code was needed to guarantee the ordering when acquiring and releasing the mp_token vs other tokens. * The thread switch code, lwkt_switch(), is simplified by this change though not necessarily faster. * Remove td_mpcount, mp_lock, and other related fields. * Remove assertions related to td_mpcount and friends, generally folding them into similar assertions for tokens. Summary of changes: sys/bus/cam/cam_sim.c | 2 +- sys/conf/files | 1 - sys/ddb/db_ps.c | 14 +- sys/kern/init_main.c | 3 - sys/kern/kern_intr.c | 33 +--- sys/kern/kern_kinfo.c | 5 +- sys/kern/kern_mplock.c | 316 ---------------------------- sys/kern/kern_shutdown.c | 1 - sys/kern/lwkt_thread.c | 153 +------------- sys/kern/lwkt_token.c | 255 ++++++++++++++++------- sys/kern/tty_cons.c | 3 - sys/kern/usched_bsd4.c | 6 - sys/kern/usched_dummy.c | 6 - sys/platform/pc32/apic/apic_vector.s | 3 +- sys/platform/pc32/i386/exception.s | 12 - sys/platform/pc32/i386/genassym.c | 3 - sys/platform/pc32/i386/locore.s | 5 - sys/platform/pc32/i386/machdep.c | 7 +- sys/platform/pc32/i386/mp_machdep.c | 22 +-- sys/platform/pc32/i386/trap.c | 19 +-- sys/platform/pc32/i386/vm86.c | 4 +- sys/platform/pc32/i386/vm_machdep.c | 4 - sys/platform/pc32/isa/ipl.s | 3 +- sys/platform/pc64/apic/apic_vector.s | 3 +- sys/platform/pc64/x86_64/exception.S | 14 -- sys/platform/pc64/x86_64/genassym.c | 3 - sys/platform/pc64/x86_64/ipl.s | 3 +- sys/platform/pc64/x86_64/machdep.c | 7 +- sys/platform/pc64/x86_64/mp_machdep.c | 22 +-- sys/platform/pc64/x86_64/trap.c | 14 -- sys/platform/vkernel/i386/cpu_regs.c | 9 +- sys/platform/vkernel/i386/fork_tramp.s | 12 - sys/platform/vkernel/i386/genassym.c | 3 - sys/platform/vkernel/i386/mp.c | 8 +- sys/platform/vkernel/i386/trap.c | 12 - sys/platform/vkernel64/x86_64/fork_tramp.s | 14 -- sys/platform/vkernel64/x86_64/genassym.c | 3 - sys/platform/vkernel64/x86_64/mp.c | 8 +- sys/platform/vkernel64/x86_64/trap.c | 12 - sys/sys/mplock2.h | 176 +--------------- sys/sys/thread.h | 19 +- sys/sys/thread2.h | 13 +- sys/vfs/procfs/procfs_ctl.c | 5 +- sys/vfs/tmpfs/tmpfs_vnops.c | 16 +-- 44 files changed, 268 insertions(+), 988 deletions(-) delete mode 100644 sys/kern/kern_mplock.c http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b5d16701e255c342d21e69a6c80b8711c028dc65 -- DragonFly BSD source repository
文章代碼(AID): #1D0-tNoy (DFBSD_commit)