From owner-cvs-all Sat Mar 16 16:56:44 2002 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 4E02237B405; Sat, 16 Mar 2002 16:56:41 -0800 (PST) Received: (from jake@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2H0uf302985; Sat, 16 Mar 2002 16:56:41 -0800 (PST) (envelope-from jake) Message-Id: <200203170056.g2H0uf302985@freefall.freebsd.org> From: Jake Burkholder Date: Sat, 16 Mar 2002 16:56:41 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern kern_exec.c sys_process.c vfs_bio.c src/sys/vm vm_pager.c vm_zone.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG jake 2002/03/16 16:56:41 PST Modified files: sys/kern kern_exec.c sys_process.c vfs_bio.c sys/vm vm_pager.c vm_zone.c Log: Convert all pmap_kenter/pmap_kremove pairs in MI code to use pmap_qenter/ pmap_qremove. pmap_kenter is not safe to use in MI code because it is not guaranteed to flush the mapping from the tlb on all cpus. If the process in question is preempted and migrates cpus between the call to pmap_kenter and pmap_kremove, the original cpu will be left with stale mappings in its tlb. This is currently not a problem for i386 because we do not use PG_G on SMP, and thus all mappings are flushed from the tlb on context switches, not just user mappings. This is not the case on all architectures, and if PG_G is to be used with SMP on i386 it will be a problem. This was committed by peter earlier as part of his fine grained tlb shootdown work for i386, which was backed out for other reasons. Reviewed by: peter Revision Changes Path 1.155 +2 -2 src/sys/kern/kern_exec.c 1.87 +2 -2 src/sys/kern/sys_process.c 1.305 +2 -2 src/sys/kern/vfs_bio.c 1.79 +3 -2 src/sys/vm/vm_pager.c 1.53 +1 -1 src/sys/vm/vm_zone.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message