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

Stephan Uphoff ups at FreeBSD.org
Tue Oct 11 18:41:48 PDT 2005


ups         2005-10-12 01:41:48 UTC

  FreeBSD src repository

  Modified files:
    sys/i386/i386        vm_machdep.c 
  Log:
  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.
  
  MFC after:      3 days
  
  Revision  Changes    Path
  1.261     +15 -15    src/sys/i386/i386/vm_machdep.c


More information about the cvs-all mailing list