mirror of https://gitee.com/openkylin/linux.git
staging: zsmalloc: calculate MAX_PHYSMEM_BITS if not defined
This patch provides a way to determine or "set a reasonable value for" MAX_PHYSMEM_BITS in the case that it is not defined (i.e. !SPARSEMEM) 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:
parent
84d4faaba2
commit
6e00ec00b1
|
@ -39,7 +39,21 @@
|
|||
* Note that object index <obj_idx> is relative to system
|
||||
* page <PFN> it is stored in, so for each sub-page belonging
|
||||
* to a zspage, obj_idx starts with 0.
|
||||
*
|
||||
* This is made more complicated by various memory models and PAE.
|
||||
*/
|
||||
|
||||
#ifndef MAX_PHYSMEM_BITS
|
||||
#ifdef CONFIG_HIGHMEM64G
|
||||
#define MAX_PHYSMEM_BITS 36
|
||||
#else /* !CONFIG_HIGHMEM64G */
|
||||
/*
|
||||
* If this definition of MAX_PHYSMEM_BITS is used, OBJ_INDEX_BITS will just
|
||||
* be PAGE_SHIFT
|
||||
*/
|
||||
#define MAX_PHYSMEM_BITS BITS_PER_LONG
|
||||
#endif
|
||||
#endif
|
||||
#define _PFN_BITS (MAX_PHYSMEM_BITS - PAGE_SHIFT)
|
||||
#define OBJ_INDEX_BITS (BITS_PER_LONG - _PFN_BITS)
|
||||
#define OBJ_INDEX_MASK ((_AC(1, UL) << OBJ_INDEX_BITS) - 1)
|
||||
|
|
Loading…
Reference in New Issue