Date: Thu, 20 Oct 2005 01:02:10 +0000 (UTC) From: Stephan Uphoff <ups@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/i386 vm_machdep.c Message-ID: <200510200102.j9K12AWZ042970@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
ups 2005-10-20 01:02:10 UTC FreeBSD src repository Modified files: (Branch: RELENG_6) sys/i386/i386 vm_machdep.c Log: MFC vm_machdep.c 1.261-1.263 Rev: 1.261 Ensure that a thread stays on same CPU when calculating per CPU TLB shootdown requirements. Otherwise a CPU may not get the needed TLB invalidation. The PTE valid and access flags can not be used here to avoid TLB shootdowns unless sf->cpumask == all_cpus. ( Otherwise some CPUs may still hold an even older entry in the TLB) Since sf_buf_alloc mappings are normally always used this is also not really useful and presetting accessed and modified allows the CPU to speculatively load the entry into the TLB. Both bugs can cause random data corruption. Rev: 1.262 Restore optimizations to reduce TLB shootdowns. Alan Cox pointed out that they are really useful for sendfile(). Rev: 1.263 Restore the UP optimization to reduce the number of TLB invalidations. The previous revision only restored the MP optimization. Describe the optimization strategy for TLB invalidations in a comment. Approved by: re@ (scottl) Revision Changes Path 1.259.2.1 +37 -31 src/sys/i386/i386/vm_machdep.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510200102.j9K12AWZ042970>