Home | History | Annotate | Download | only in uvm
History log of /src/sys/uvm/uvm_pglist.h
RevisionDateAuthorComments
 1.11  13-Apr-2020  ad Comments
 1.10  28-Dec-2019  martin branches: 1.10.6;
Include <sys/param.h> here directly to have a sane default for
COHERENCY_UNIT.
 1.9  27-Dec-2019  ad Redo the page allocator to perform better, especially on multi-core and
multi-socket systems. Proposed on tech-kern. While here:

- add rudimentary NUMA support - needs more work.
- remove now unused "listq" from vm_page.
 1.8  06-Nov-2010  uebayasi branches: 1.8.60;
Provide a forward declaration of "struct vm_page", whose internal
is opaque to uvm_pglist.h users. Users don't need to pull in
uvm_page.h.
 1.7  04-Jun-2008  ad branches: 1.7.16; 1.7.18; 1.7.20;
- vm_page: put listq, pageq into a union alongside a LIST_ENTRY, so we can
use both types of list.

- Make page coloring and idle zero state per-CPU.

- Maintain per-CPU page freelists. When freeing, put pages onto the local
CPU's lists and the global lists. When allocating, prefer to take pages
from the local CPU. If none are available take from the global list as
done now. Proposed on tech-kern@.
 1.6  28-Apr-2008  martin branches: 1.6.2;
Remove clause 3 and 4 from TNF licenses
 1.5  25-Aug-2001  chs branches: 1.5.118; 1.5.120; 1.5.122;
use the correct symbol for multi-include protection.
 1.4  25-May-2001  chs branches: 1.4.2;
remove trailing whitespace.
 1.3  02-May-2001  thorpej Support dynamic sizing of the page color bins. We also support
dynamically re-coloring pages; as machine-dependent code discovers
the size of the system's caches, it may call uvm_page_recolor() with
the new number of colors to use. If the new mumber of colors is
smaller (or equal to) the current number of colors, then uvm_page_recolor()
is a no-op.

The system defaults to one bucket if machine-dependent code does not
initialize uvmexp.ncolors before uvm_page_init() is called.

Note that the number of color bins should be initialized to something
reasonable as early as possible -- for many early memory allocations,
we live with the consequences of the page choice for the lifetime of
the boot.
 1.2  29-Apr-2001  thorpej Implement page coloring, using a round-robin bucket selection
algorithm (Solaris calls this "Bin Hopping").

This implementation currently relies on MD code to define a
constant defining the number of buckets. This will change
reasonably soon (MD code will be able to dynamically size
the bucket array).
 1.1  26-Jun-2000  mrg branches: 1.1.2; 1.1.4;
remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.1.4.2  21-Sep-2001  nathanw Catch up to -current.
 1.1.4.1  21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.1.2.1  26-Jun-2000  bouyer file uvm_pglist.h was added on branch thorpej_scsipi on 2000-11-20 18:12:06 +0000
 1.4.2.1  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.5.122.2  04-May-2009  yamt sync with head.
 1.5.122.1  16-May-2008  yamt sync with head.
 1.5.120.2  17-Jun-2008  yamt sync with head.
 1.5.120.1  18-May-2008  yamt sync with head.
 1.5.118.2  05-Jun-2008  mjf Sync with HEAD.

Also fix build.
 1.5.118.1  02-Jun-2008  mjf Sync with HEAD.
 1.6.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.7.20.1  05-Mar-2011  rmind sync with head
 1.7.18.1  28-Apr-2010  uebayasi Don't expose uvm_page.h internal for usual uvm(9) users.
 1.7.16.6  19-Dec-2013  matt error out if VM_NFREELIST isn't defined
 1.7.16.5  16-Feb-2012  matt Track the victims selected by the pagedaemon and what happens to then.
Keep a hint for what page group has the most free pages for a given color.
 1.7.16.4  09-Feb-2012  matt Major changes to uvm.
Support multiple collections (groups) of free pages and run the page
reclaimation algorithm on each group independently.
 1.7.16.3  04-Nov-2011  matt #include <machine/vmparam.h> if VM_NFREELIST isn't defined.
 1.7.16.2  03-Jun-2011  matt Restore $NetBSD$
 1.7.16.1  03-Jun-2011  matt Rework page free lists to be sorted by color first rather than free_list.
Kept per color PGFL_* counter in each page free list.
Minor cleanups.
 1.8.60.2  21-Apr-2020  martin Sync with HEAD
 1.8.60.1  08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.6.1  20-Apr-2020  bouyer Sync with HEAD

RSS XML Feed