git: kernel - 48-core MP work

看板DFBSD_commit作者時間15年前 (2010/12/12 08:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit cbdd23b1e5d007ed3aa4b7b24b111f3f3e0561cb Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Sat Dec 11 15:47:01 2010 -0800 kernel - 48-core MP work * Replace the cpu_contention_mask global with a per-token contention mask. * Fold the lwkt.user_pri_sched feature into the scheduler and remove the sysctl. The feature is now alwayws on. The feature allows a lower priority non-contending thread to be scheduled in the face of a high-priority contending thread that would normally spin in the scheduler. * A reschedule IPI is now performed when a high-priority contending thread might possibly resolve, which will kick the user process back into the kernel and allow rescheduling of the higher priority thread. * Change the idle-cpu check semantics. When a cpu's scheduler finds only contending threads it used to loop in the scheduler and the idle thread would be flagged to not halt. We now allow the idle thread to halt in this case and expect to receive an IPI when any of the contending threads might possibly resolve. As a fringe benefit this should also benefit vkernels. * lwkt_schedule() has been significantly simplified. Or as I would say, decomplexified. Summary of changes: sys/dev/acpica5/acpi_cpu_cstate.c | 4 +- sys/kern/lwkt_thread.c | 48 +++------------ sys/kern/lwkt_token.c | 95 +++++++++++++++++++++++++----- sys/platform/pc32/i386/machdep.c | 35 ++--------- sys/platform/pc64/x86_64/machdep.c | 32 +--------- sys/platform/vkernel/i386/cpu_regs.c | 34 ++--------- sys/platform/vkernel64/x86_64/cpu_regs.c | 35 ++--------- sys/sys/globaldata.h | 3 + sys/sys/mplock2.h | 32 ---------- sys/sys/thread.h | 5 +- 10 files changed, 118 insertions(+), 205 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/cbdd23b1e5d007ed3aa4b7b24b111f3f3e0561cb -- DragonFly BSD source repository
文章代碼(AID): #1D1132Qy (DFBSD_commit)