staging: zsmalloc: add ZS_MAX_PAGES_PER_ZSPAGE

This patch moves where max_zspage_order is declared and
changes its meaning.  "Order" typically implies 2^order
of something; however, it is currently being used as the
"maximum number of single pages in a zspage".  To add clarity,
ZS_MAX_ZSPAGE_ORDER is now used to calculate ZS_MAX_PAGES_PER_ZSPAGE,
which is 2^ZS_MAX_ZSPAGE_ORDER and is the upper bound on the number
of pages in a zspage.

Signed-off-by: Seth Jennings <sjenning@linux.vnet.ibm.com>
Acked-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Seth Jennings 2012-03-05 11:33:21 -06:00 committed by Greg Kroah-Hartman
parent aafefe932a
commit 84d4faaba2
2 changed files with 8 additions and 7 deletions

View File

@ -186,7 +186,7 @@ static int get_zspage_order(int class_size)
/* zspage order which gives maximum used size per KB */ /* zspage order which gives maximum used size per KB */
int max_usedpc_order = 1; int max_usedpc_order = 1;
for (i = 1; i <= max_zspage_order; i++) { for (i = 1; i <= ZS_MAX_PAGES_PER_ZSPAGE; i++) {
int zspage_size; int zspage_size;
int waste, usedpc; int waste, usedpc;

View File

@ -25,6 +25,13 @@
*/ */
#define ZS_ALIGN 8 #define ZS_ALIGN 8
/*
* A single 'zspage' is composed of up to 2^N discontiguous 0-order (single)
* pages. ZS_MAX_ZSPAGE_ORDER defines upper limit on N.
*/
#define ZS_MAX_ZSPAGE_ORDER 2
#define ZS_MAX_PAGES_PER_ZSPAGE (_AC(1, UL) << ZS_MAX_ZSPAGE_ORDER)
/* /*
* Object location (<PFN>, <obj_idx>) is encoded as * Object location (<PFN>, <obj_idx>) is encoded as
* as single (void *) handle value. * as single (void *) handle value.
@ -58,12 +65,6 @@
#define ZS_SIZE_CLASSES ((ZS_MAX_ALLOC_SIZE - ZS_MIN_ALLOC_SIZE) / \ #define ZS_SIZE_CLASSES ((ZS_MAX_ALLOC_SIZE - ZS_MIN_ALLOC_SIZE) / \
ZS_SIZE_CLASS_DELTA + 1) ZS_SIZE_CLASS_DELTA + 1)
/*
* A single 'zspage' is composed of N discontiguous 0-order (single) pages.
* This defines upper limit on N.
*/
static const int max_zspage_order = 4;
/* /*
* We do not maintain any list for completely empty or full pages * We do not maintain any list for completely empty or full pages
*/ */