From 263927b83eb3f591fcb01a2a15e606828ae34bd8 Mon Sep 17 00:00:00 2001 From: alc Date: Mon, 8 Jun 2015 04:59:32 +0000 Subject: 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 --- sys/amd64/include/vmparam.h | 5 ++--- sys/arm/include/vmparam.h | 5 ++--- sys/arm64/include/vmparam.h | 5 ++--- sys/i386/include/vmparam.h | 5 ++--- sys/mips/include/vmparam.h | 5 ++--- sys/powerpc/include/vmparam.h | 5 ++--- sys/sparc64/include/vmparam.h | 5 ++--- sys/vm/vm_page.c | 1 - sys/vm/vm_reserv.c | 3 --- 9 files changed, 14 insertions(+), 25 deletions(-) diff --git a/sys/amd64/include/vmparam.h b/sys/amd64/include/vmparam.h index a92dd4e..07158e8 100644 --- a/sys/amd64/include/vmparam.h +++ b/sys/amd64/include/vmparam.h @@ -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 diff --git a/sys/arm/include/vmparam.h b/sys/arm/include/vmparam.h index 91b6a63..b6e76bf 100644 --- a/sys/arm/include/vmparam.h +++ b/sys/arm/include/vmparam.h @@ -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 diff --git a/sys/arm64/include/vmparam.h b/sys/arm64/include/vmparam.h index 2065fda..9a2d6e5 100644 --- a/sys/arm64/include/vmparam.h +++ b/sys/arm64/include/vmparam.h @@ -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 diff --git a/sys/i386/include/vmparam.h b/sys/i386/include/vmparam.h index cb23b05..987ac62 100644 --- a/sys/i386/include/vmparam.h +++ b/sys/i386/include/vmparam.h @@ -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 diff --git a/sys/mips/include/vmparam.h b/sys/mips/include/vmparam.h index 89caf27..020d0ac 100644 --- a/sys/mips/include/vmparam.h +++ b/sys/mips/include/vmparam.h @@ -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 diff --git a/sys/powerpc/include/vmparam.h b/sys/powerpc/include/vmparam.h index c79a7c5..5b808ab 100644 --- a/sys/powerpc/include/vmparam.h +++ b/sys/powerpc/include/vmparam.h @@ -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 diff --git a/sys/sparc64/include/vmparam.h b/sys/sparc64/include/vmparam.h index c2f30c3..facec86 100644 --- a/sys/sparc64/include/vmparam.h +++ b/sys/sparc64/include/vmparam.h @@ -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 diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 81995a1..3b58fb7 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -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(); diff --git a/sys/vm/vm_reserv.c b/sys/vm/vm_reserv.c index b74c768..2cfc630 100644 --- a/sys/vm/vm_reserv.c +++ b/sys/vm/vm_reserv.c @@ -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); } -- cgit v1.1