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
File | Mode | Size |
---|---|---|
default_pager.c | -rw-r--r-- | 5.4 KB |
device_pager.c | -rw-r--r-- | 9.6 KB |
memguard.c | -rw-r--r-- | 11.9 KB |
memguard.h | -rw-r--r-- | 1.6 KB |
phys_pager.c | -rw-r--r-- | 5.2 KB |
pmap.h | -rw-r--r-- | 5.8 KB |
redzone.c | -rw-r--r-- | 4.9 KB |
redzone.h | -rw-r--r-- | 1.6 KB |
sg_pager.c | -rw-r--r-- | 7.1 KB |
swap_pager.c | -rw-r--r-- | 65.2 KB |
swap_pager.h | -rw-r--r-- | 3.0 KB |
uma.h | -rw-r--r-- | 17.6 KB |
uma_core.c | -rw-r--r-- | 74.2 KB |
uma_dbg.c | -rw-r--r-- | 7.4 KB |
uma_dbg.h | -rw-r--r-- | 2.2 KB |
uma_int.h | -rw-r--r-- | 14.5 KB |
vm.h | -rw-r--r-- | 5.0 KB |
vm_contig.c | -rw-r--r-- | 8.5 KB |
vm_extern.h | -rw-r--r-- | 4.5 KB |
vm_fault.c | -rw-r--r-- | 35.4 KB |
vm_glue.c | -rw-r--r-- | 25.1 KB |
vm_init.c | -rw-r--r-- | 6.5 KB |
vm_kern.c | -rw-r--r-- | 14.0 KB |
vm_kern.h | -rw-r--r-- | 3.1 KB |
vm_map.c | -rw-r--r-- | 89.8 KB |
vm_map.h | -rw-r--r-- | 13.6 KB |
vm_meter.c | -rw-r--r-- | 14.9 KB |
vm_mmap.c | -rw-r--r-- | 32.0 KB |
vm_object.c | -rw-r--r-- | 59.7 KB |
vm_object.h | -rw-r--r-- | 8.1 KB |
vm_page.c | -rw-r--r-- | 54.8 KB |
vm_page.h | -rw-r--r-- | 12.7 KB |
vm_pageout.c | -rw-r--r-- | 43.9 KB |
vm_pageout.h | -rw-r--r-- | 3.6 KB |
vm_pager.c | -rw-r--r-- | 12.5 KB |
vm_pager.h | -rw-r--r-- | 6.2 KB |
vm_param.h | -rw-r--r-- | 4.9 KB |
vm_phys.c | -rw-r--r-- | 22.0 KB |
vm_phys.h | -rw-r--r-- | 2.2 KB |
vm_reserv.c | -rw-r--r-- | 21.4 KB |
vm_reserv.h | -rw-r--r-- | 2.5 KB |
vm_unix.c | -rw-r--r-- | 4.7 KB |
vm_zeroidle.c | -rw-r--r-- | 4.7 KB |
vnode_pager.c | -rw-r--r-- | 30.6 KB |
vnode_pager.h | -rw-r--r-- | 2.3 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...