Home | History | Annotate | Download | only in uvm
History log of /src/sys/uvm/uvm_pgflcache.c
RevisionDateAuthorComments
 1.6  18-Oct-2020  chs In the current code, CPU_COUNT_FREEPAGES counts pages in the global
freelists AND the per-CPU pgflcache free pages caches, and that is the
number of pages that the pagedaemon considers to be available.
However, most pages in the pgflcache per-CPU free page caches are NOT
actually available for any particular allocation, and thus allocating
a page can fail even though the pagedaemon thinks enough pages are
available. This change makes CPU_COUNT_FREEPAGES only count pages in
the global freelists and not pages in the pgflcache per-CPU free page
caches, thus better aligning the pagedaemon's view of how many pages
are available with the number of pages that can actually be allocated
by any particular request. This fixes a hang that Christos was hitting.
 1.5  14-Jun-2020  ad Remove PG_ZERO. It worked brilliantly on x86 machines from the mid-90s but
having spent an age experimenting with it over the last 6 months on various
machines and with different use cases it's always either break-even or a
slight net loss for me.
 1.4  30-Dec-2019  ad branches: 1.4.6;
Freelist cache: drain using a high-priority xcall and re-enable now that
the pagedaemon starvation problem should be fixed.
 1.3  29-Dec-2019  ad It looks like the freelist cache can starve the pagedaemon under certain
conditions, so temporarily disable it. Will revisit soon.
 1.2  27-Dec-2019  ad Fix a comment.
 1.1  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.4.6.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.4.6.1  30-Dec-2019  martin file uvm_pgflcache.c was added on branch phil-wifi on 2020-04-08 14:09:04 +0000

RSS XML Feed