Retire VM_FREEPOOL_CACHE as the next step in eliminating PG_CACHE pages.

Differential Revision:	https://reviews.freebsd.org/D2712
Reviewed by:	kib
Sponsored by:	EMC / Isilon Storage Division
This commit is contained in:
Alan Cox 2015-06-08 04:59:32 +00:00
parent 6f769b730c
commit 966272ca33
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=284147
9 changed files with 14 additions and 25 deletions

View File

@ -90,13 +90,12 @@
#define VM_PHYSSEG_MAX 63
/*
* Create three free page pools: VM_FREEPOOL_DEFAULT is the default pool
* Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool
* from which physical pages are allocated and VM_FREEPOOL_DIRECT is
* the pool from which physical pages for page tables and small UMA
* objects are allocated.
*/
#define VM_NFREEPOOL 3
#define VM_FREEPOOL_CACHE 2
#define VM_NFREEPOOL 2
#define VM_FREEPOOL_DEFAULT 0
#define VM_FREEPOOL_DIRECT 1

View File

@ -84,13 +84,12 @@
#define VM_PHYSSEG_SPARSE
/*
* Create two free page pools. Since the ARM kernel virtual address
* Create one free page pool. Since the ARM kernel virtual address
* space does not include a mapping onto the machine's entire physical
* memory, VM_FREEPOOL_DIRECT is defined as an alias for the default
* pool, VM_FREEPOOL_DEFAULT.
*/
#define VM_NFREEPOOL 2
#define VM_FREEPOOL_CACHE 1
#define VM_NFREEPOOL 1
#define VM_FREEPOOL_DEFAULT 0
#define VM_FREEPOOL_DIRECT 0

View File

@ -75,13 +75,12 @@
#define VM_PHYSSEG_MAX 64
/*
* Create three free page pools: VM_FREEPOOL_DEFAULT is the default pool
* Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool
* from which physical pages are allocated and VM_FREEPOOL_DIRECT is
* the pool from which physical pages for small UMA objects are
* allocated.
*/
#define VM_NFREEPOOL 3
#define VM_FREEPOOL_CACHE 2
#define VM_NFREEPOOL 2
#define VM_FREEPOOL_DEFAULT 0
#define VM_FREEPOOL_DIRECT 1

View File

@ -83,13 +83,12 @@
#define VM_PHYSSEG_MAX 17
/*
* Create two free page pools. Since the i386 kernel virtual address
* Create one free page pool. Since the i386 kernel virtual address
* space does not include a mapping onto the machine's entire physical
* memory, VM_FREEPOOL_DIRECT is defined as an alias for the default
* pool, VM_FREEPOOL_DEFAULT.
*/
#define VM_NFREEPOOL 2
#define VM_FREEPOOL_CACHE 1
#define VM_NFREEPOOL 1
#define VM_FREEPOOL_DEFAULT 0
#define VM_FREEPOOL_DIRECT 0

View File

@ -149,13 +149,12 @@
#define VM_PHYSSEG_SPARSE
/*
* Create three free page pools: VM_FREEPOOL_DEFAULT is the default pool
* Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool
* from which physical pages are allocated and VM_FREEPOOL_DIRECT is
* the pool from which physical pages for small UMA objects are
* allocated.
*/
#define VM_NFREEPOOL 3
#define VM_FREEPOOL_CACHE 2
#define VM_NFREEPOOL 2
#define VM_FREEPOOL_DEFAULT 0
#define VM_FREEPOOL_DIRECT 1

View File

@ -136,13 +136,12 @@ struct pmap_physseg {
#endif
/*
* Create three free page pools: VM_FREEPOOL_DEFAULT is the default pool
* Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool
* from which physical pages are allocated and VM_FREEPOOL_DIRECT is
* the pool from which physical pages for small UMA objects are
* allocated.
*/
#define VM_NFREEPOOL 3
#define VM_FREEPOOL_CACHE 2
#define VM_NFREEPOOL 2
#define VM_FREEPOOL_DEFAULT 0
#define VM_FREEPOOL_DIRECT 1

View File

@ -75,13 +75,12 @@
#define VM_PHYSSEG_MAX 64
/*
* Create three free page pools: VM_FREEPOOL_DEFAULT is the default pool
* Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool
* from which physical pages are allocated and VM_FREEPOOL_DIRECT is
* the pool from which physical pages for small UMA objects are
* allocated.
*/
#define VM_NFREEPOOL 3
#define VM_FREEPOOL_CACHE 2
#define VM_NFREEPOOL 2
#define VM_FREEPOOL_DEFAULT 0
#define VM_FREEPOOL_DIRECT 1

View File

@ -2708,7 +2708,6 @@ vm_page_cache(vm_page_t m)
#else
if (TRUE) {
#endif
vm_phys_set_pool(VM_FREEPOOL_CACHE, m, 0);
vm_phys_free_pages(m, 0);
}
vm_page_free_wakeup();

View File

@ -801,9 +801,6 @@ vm_reserv_free_page(vm_page_t m)
rv = vm_reserv_from_page(m);
if (rv->object == NULL)
return (FALSE);
if ((m->flags & PG_CACHED) != 0 && m->pool != VM_FREEPOOL_CACHE)
vm_phys_set_pool(VM_FREEPOOL_CACHE, rv->pages,
VM_LEVEL_0_ORDER);
vm_reserv_depopulate(rv, m - rv->pages);
return (TRUE);
}