cvs commit: src/sys/i386/i386 vm_machdep.c
Alan Cox
alc at FreeBSD.org
Fri Mar 17 19:07:38 UTC 2006
alc 2006-03-17 19:07:33 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_5)
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.241.2.4 +37 -31 src/sys/i386/i386/vm_machdep.c
More information about the cvs-src
mailing list