kernel - Refactor vm_page_alloc() to improve hot pages
commit635c9c159eb758c1328d8a014b7cb1d0255d00ab
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 6 Feb 2017 02:51:24 +0000 (5 18:51 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 6 Feb 2017 02:53:45 +0000 (5 18:53 -0800)
tree406a16374febdc91448df5184935c08d3a072b14
parentf76ae5a73ea6be0b0cfb0bbd67ac00aa00ba6702
kernel - Refactor vm_page_alloc() to improve hot pages

* Since we do not pre-zero pages any more, nothing uses PG_ZERO and we no
  longer have to use the head and tail of the free queue as an indication
  of a possibly freed page being zerod or not.

  For PQ_FREE, refactor the use case to always be LIFO, improving chances
  that vm_page_alloc() will retrieve a page that is already hot in the
  cache.

* Should improve the host, and in particular will improve the vkernel,
  preventing it from unnecessarily cycling new pages (faulting them in
  on the host) when normal operation is in steady-state, and also reducing
  unnecessary initial/fresh faults.
sys/vm/vm_page.c
sys/vm/vm_page.h
sys/vm/vm_pageout.c