Index: amd64/include/vmparam.h =================================================================== --- amd64/include/vmparam.h +++ 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 Index: arm/include/vmparam.h =================================================================== --- arm/include/vmparam.h +++ 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 Index: arm64/include/vmparam.h =================================================================== --- arm64/include/vmparam.h +++ 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 Index: i386/include/vmparam.h =================================================================== --- i386/include/vmparam.h +++ 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 Index: mips/include/vmparam.h =================================================================== --- mips/include/vmparam.h +++ 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 Index: powerpc/include/vmparam.h =================================================================== --- powerpc/include/vmparam.h +++ powerpc/include/vmparam.h @@ -136,13 +136,12 @@ #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 Index: sparc64/include/vmparam.h =================================================================== --- sparc64/include/vmparam.h +++ 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 Index: vm/vm_page.c =================================================================== --- vm/vm_page.c +++ vm/vm_page.c @@ -2708,7 +2708,6 @@ #else if (TRUE) { #endif - vm_phys_set_pool(VM_FREEPOOL_CACHE, m, 0); vm_phys_free_pages(m, 0); } vm_page_free_wakeup(); Index: vm/vm_reserv.c =================================================================== --- vm/vm_reserv.c +++ vm/vm_reserv.c @@ -801,9 +801,6 @@ 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); }