Revision ca71ba4d0cfcf5f7a8e9b24339547b5a72299f80 authored by John Baldwin on 26 January 2010, 20:58:09 UTC, committed by John Baldwin on 26 January 2010, 20:58:09 UTC
Optimize the cache flushing done when changing caching attributes of pages
by doing nothing for CPUs that support self-snooping and using CLFLUSH
instead of a full cache invalidate when possible.
- On i386 take care of possible mappings of the page by sf buffer by
  utilizing the mapping for clflush, otherwise map the page transiently.
  Amd64 uses the direct map.
- Do not use CLFLUSH on Intel CPUs due to problems with flushing the local
  APIC range by default.  This can be further controlled via the
  hw.clflush_disable loader tunable.  A setting of 1 disables the
  use of CLFLUSH.  A setting of 0 allows CLFLUSH to be used for Intel
  CPUs when CPUID_SS is not present.

Approved by:	re (kib)
1 parent a6a19cb
History
File Mode Size
Makefile -rw-r--r-- 243 bytes
cmp.c -rw-r--r-- 4.6 KB
extern.h -rw-r--r-- 2.7 KB
ls.1 -rw-r--r-- 15.8 KB
ls.c -rw-r--r-- 21.7 KB
ls.h -rw-r--r-- 3.1 KB
print.c -rw-r--r-- 14.6 KB
util.c -rw-r--r-- 5.4 KB

back to top