git: kernel - Fix serious issue w/ smp_invltlb(), plus other iss

看板DFBSD_commit作者時間15年前 (2010/11/20 09:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
commit b4b1a37a911531aa2eab596e4a240a9b403a0dc6 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Sun Oct 31 08:52:00 2010 -0700 kernel - Fix serious issue w/ smp_invltlb(), plus other issues (3) * splz() and doreti on both i386 and x86_64 were leaving interrupts disabled through calls to e.g. sched_ithd() and IPI function callbacks. As before this can lead to a deadlock if these functions call smp_invltlb() or some other cpu calls smp_invltlb() while these functions are spinning on a full IPIQ. * sti in appropriate places to fix the problem. Summary of changes: sys/platform/pc32/i386/mp_machdep.c | 1 + sys/platform/pc32/isa/ipl.s | 18 ++++++++-- sys/platform/pc64/x86_64/ipl.s | 59 +++++++++++--------------------- sys/platform/pc64/x86_64/mp_machdep.c | 2 + 4 files changed, 38 insertions(+), 42 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b4b1a37a911531aa2eab596e4a240a9b403a0dc6 -- DragonFly BSD source repository
文章代碼(AID): #1CvoL40x (DFBSD_commit)
文章代碼(AID): #1CvoL40x (DFBSD_commit)