git: kernel - Adjust tlb invalidation in the x86-64 pmap code

看板DFBSD_commit作者時間14年前 (2011/11/19 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 52bb73bc908f2d4fb004ad3c5c97f4d25402d2c2 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Fri Nov 18 08:10:41 2011 -0800 kernel - Adjust tlb invalidation in the x86-64 pmap code * Use a locked bus cycle instruction to clear pte's in all cases. * Remove unnecessary vm_page_hold() when removing a page table page pv. The page is still wired so a hold is not needed. * Do not issue invalidation interlocks when populating a user pte, the invalidations issued when the user pte is removed are sufficient. Kernel pte's still appear to need an interlock. It is unclear why (possibly early PG_PS replacement issues). * Revamp pmap_enter() to fix a race case which could allow PG_M to get lost. Any protection or wiring change fully removes the pte before loading a revised pte. Summary of changes: sys/platform/pc64/x86_64/pmap.c | 182 +++++++++++++++++---------------------- 1 files changed, 78 insertions(+), 104 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/52bb73bc908f2d4fb004ad3c5c97f4d25402d2c2 -- DragonFly BSD source repository
文章代碼(AID): #1EnfryrI (DFBSD_commit)