cvs commit: src/sys/i386/i386 mp_machdep.c pmap.c vm_machdep.c
Alan Cox
alc at FreeBSD.org
Mon Mar 26 04:22:26 UTC 2007
alc 2007-03-26 04:22:25 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_6)
sys/i386/i386 mp_machdep.c pmap.c vm_machdep.c
Log:
MFC
Acquiring smp_ipi_mtx on every call to pmap_invalidate_*() is wasteful.
For example, during a buildworld more than half of the calls do not
generate an IPI because the only TLB entry invalidated is on the calling
processor. This revision pushes down the acquisition and release of
smp_ipi_mtx into smp_tlb_shootdown() and smp_targeted_tlb_shootdown() and
instead uses sched_pin() and sched_unpin() in pmap_invalidate_*() so that
thread migration doesn't lead to a missed TLB invalidation.
Revision Changes Path
1.252.2.9 +9 -2 src/sys/i386/i386/mp_machdep.c
1.523.2.11 +6 -48 src/sys/i386/i386/pmap.c
1.259.2.5 +0 -2 src/sys/i386/i386/vm_machdep.c
More information about the cvs-src
mailing list