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

Stephan Uphoff ups at FreeBSD.org
Wed Oct 19 18:02:10 PDT 2005


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


More information about the cvs-src mailing list