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
This commit is contained in:
Alan Cox 2013-11-02 17:08:20 +00:00
parent dd50b3107e
commit b603e09555
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=257549

View File

@ -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: