NetBSD/sys/uvm
ad eeff73a80f Page allocator:
The method for assigning pages to buckets in the non-NUMA case sucks.  It
can defeat memory interleaving in the hardware, and not distribute pages
fairly by colour.  To fix this and make things more deterministic, take the
physical PFN and colour into account.

Then when freeing pages, in the non-NUMA case don't change the page's bucket
either.  Keeping the bucket number stable will also permit partitioning page
replacement state by CPU package / NUMA node.
2020-01-05 22:01:09 +00:00
..
pmap Revert previous (include of sys/param.h) - the headers requiring this 2020-01-01 16:50:41 +00:00
files.uvm Redo the page allocator to perform better, especially on multi-core and 2019-12-27 12:51:56 +00:00
Makefile
uvm_amap.c Back out the amap allocation changes from earlier today - have seen a panic 2020-01-02 02:00:35 +00:00
uvm_amap.h Back out the amap allocation changes from earlier today - have seen a panic 2020-01-02 02:00:35 +00:00
uvm_anon.c - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_anon.h
uvm_aobj.c - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_aobj.h
uvm_bio.c - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_coredump.c VM_MAXUSER_ADDRESS can be undefined when compiling module/coredump; 2019-02-17 13:46:03 +00:00
uvm_ddb.h Redo the page allocator to perform better, especially on multi-core and 2019-12-27 12:51:56 +00:00
uvm_device.c __cacheline_aligned on a lock. 2019-12-01 16:44:11 +00:00
uvm_device.h
uvm_extern.h - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_fault_i.h - Extend the per-CPU counters matt@ did to include all of the hot counters 2019-12-16 22:47:54 +00:00
uvm_fault.c - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_fault.h
uvm_glue.c - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_glue.h
uvm_init.c Redo the page allocator to perform better, especially on multi-core and 2019-12-27 12:51:56 +00:00
uvm_io.c
uvm_km.c Merge from yamt-pagecache: use radixtree for page lookup. 2019-12-14 17:28:58 +00:00
uvm_km.h
uvm_loan.c - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_loan.h
uvm_map.c remove unused predicate function 2020-01-05 15:57:15 +00:00
uvm_map.h remove unused predicate function 2020-01-05 15:57:15 +00:00
uvm_meter.c Rename uvm_free() -> uvm_availmem(). 2019-12-31 13:07:09 +00:00
uvm_mmap.c Avoid left shift changing the signedness flag 2019-10-04 22:48:45 +00:00
uvm_mremap.c
uvm_object.c - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_object.h Merge from yamt-pagecache: 2019-12-15 21:11:34 +00:00
uvm_page_array.c Merge from yamt-pagecache: 2019-12-15 21:11:34 +00:00
uvm_page_array.h Merge from yamt-pagecache: 2019-12-15 21:11:34 +00:00
uvm_page.c Page allocator: 2020-01-05 22:01:09 +00:00
uvm_page.h - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_pager.c - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_pager.h update comment - PGO_JOURNALLOCKED now supported for 'get' too 2018-12-09 20:33:04 +00:00
uvm_param.h - Cleanup for dynamic sysctl: 2018-08-22 01:05:21 +00:00
uvm_pdaemon.c - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_pdaemon.h pagedaemon: 2019-12-30 18:08:37 +00:00
uvm_pdpolicy_clock.c Fix a comment. 2020-01-01 14:33:48 +00:00
uvm_pdpolicy_clockpro.c - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_pdpolicy_impl.h
uvm_pdpolicy.h - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00
uvm_pgflcache.c Freelist cache: drain using a high-priority xcall and re-enable now that 2019-12-30 17:47:06 +00:00
uvm_pgflcache.h Redo the page allocator to perform better, especially on multi-core and 2019-12-27 12:51:56 +00:00
uvm_pglist.c Rename uvm_free() -> uvm_availmem(). 2019-12-31 13:07:09 +00:00
uvm_pglist.h Include <sys/param.h> here directly to have a sane default for 2019-12-28 08:33:35 +00:00
uvm_physseg.c - Rename VM_PGCOLOR_BUCKET() to VM_PGCOLOR(). I want to reuse "bucket" for 2019-12-21 14:41:44 +00:00
uvm_physseg.h
uvm_pmap.h add experimental new function uvm_direct_process(), to allow of read/writes 2018-05-19 15:03:26 +00:00
uvm_prot.h
uvm_readahead.c adjust heuristics for read-ahead to skip the full read-ahead when last page of 2018-05-19 15:18:02 +00:00
uvm_readahead.h
uvm_stat.c Rename uvm_free() -> uvm_availmem(). 2019-12-31 13:07:09 +00:00
uvm_stat.h
uvm_swap.c s/transfered/transferred/ 2019-12-27 09:41:48 +00:00
uvm_swap.h allow NONE build 2019-05-01 07:17:18 +00:00
uvm_swapstub.c
uvm_unix.c
uvm_user.c
uvm_vnode.c - Rename VM_PGCOLOR_BUCKET() to VM_PGCOLOR(). I want to reuse "bucket" for 2019-12-21 14:41:44 +00:00
uvm.h - Add and use wrapper functions that take and acquire page interlocks, and pairs 2019-12-31 22:42:50 +00:00