From b603e095558a55f3ba13bc3a1e3d0747dec19ae2 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sat, 2 Nov 2013 17:08:20 +0000 Subject: [PATCH] Don't create a distinct free page pool for segregating allocations that are accessed through the direct map unless the kernel configuration actually includes a direct map. Only a few configurations do, and for the rest the unnecessary free page pool is a small pessimization. Tested by: zbb MFC after: 6 weeks --- sys/arm/include/vmparam.h | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/sys/arm/include/vmparam.h b/sys/arm/include/vmparam.h index 93d7587b226..8fa6988472f 100644 --- a/sys/arm/include/vmparam.h +++ b/sys/arm/include/vmparam.h @@ -82,15 +82,21 @@ #define VM_PHYSSEG_DENSE /* - * Create three 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. + * Create two or three free page pools depending on the existence of a direct + * map: 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. */ +#ifdef ARM_USE_SMALL_ALLOC #define VM_NFREEPOOL 3 #define VM_FREEPOOL_CACHE 2 -#define VM_FREEPOOL_DEFAULT 0 #define VM_FREEPOOL_DIRECT 1 +#else +#define VM_NFREEPOOL 2 +#define VM_FREEPOOL_CACHE 1 +#define VM_FREEPOOL_DIRECT 0 +#endif +#define VM_FREEPOOL_DEFAULT 0 /* * we support 2 free lists: