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
db_access.c -rw-r--r-- 2.5 KB
db_access.h -rw-r--r-- 1.3 KB
db_break.c -rw-r--r-- 7.5 KB
db_break.h -rw-r--r-- 2.0 KB
db_capture.c -rw-r--r-- 10.1 KB
db_command.c -rw-r--r-- 16.2 KB
db_command.h -rw-r--r-- 1.5 KB
db_examine.c -rw-r--r-- 7.2 KB
db_expr.c -rw-r--r-- 4.6 KB
db_input.c -rw-r--r-- 7.8 KB
db_lex.c -rw-r--r-- 5.8 KB
db_lex.h -rw-r--r-- 1.8 KB
db_main.c -rw-r--r-- 5.8 KB
db_output.c -rw-r--r-- 6.7 KB
db_output.h -rw-r--r-- 1.4 KB
db_print.c -rw-r--r-- 1.9 KB
db_ps.c -rw-r--r-- 10.8 KB
db_run.c -rw-r--r-- 8.5 KB
db_script.c -rw-r--r-- 15.4 KB
db_sym.c -rw-r--r-- 7.6 KB
db_sym.h -rw-r--r-- 3.5 KB
db_textdump.c -rw-r--r-- 16.7 KB
db_thread.c -rw-r--r-- 5.0 KB
db_variables.c -rw-r--r-- 3.3 KB
db_variables.h -rw-r--r-- 1.7 KB
db_watch.c -rw-r--r-- 7.0 KB
db_watch.h -rw-r--r-- 1.4 KB
db_write_cmd.c -rw-r--r-- 2.1 KB
ddb.h -rw-r--r-- 7.3 KB

back to top