cvs commit: src/sys/i386/i386 mp_machdep.c pmap.c vm_machdep.c

Alan Cox alc at
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 
    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   +9 -2      src/sys/i386/i386/mp_machdep.c
  1.523.2.11  +6 -48     src/sys/i386/i386/pmap.c   +0 -2      src/sys/i386/i386/vm_machdep.c

More information about the cvs-src mailing list