linux/vmalloc.h added to zsmalloc-main.c to resolve implicit
declaration errors.
X86 dependency added to zsmalloc and dependent drivers zcache and zram.
This X86 only requirement is not ideal. Working to find portable
functions for __flush_tlb_one and set_pte.
Signed-off-by: Seth Jennings <sjenning@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
config ZCACHE
tristate "Dynamic compression of swap pages and clean pagecache pages"
- depends on (CLEANCACHE || FRONTSWAP) && CRYPTO
+ # X86 dependency is because zsmalloc uses non-portable pte/tlb
+ # functions
+ depends on (CLEANCACHE || FRONTSWAP) && CRYPTO && X86
select ZSMALLOC
select CRYPTO_LZO
default n
config ZRAM
tristate "Compressed RAM block device support"
- depends on BLOCK && SYSFS
+ # X86 dependency is because zsmalloc uses non-portable pte/tlb
+ # functions
+ depends on BLOCK && SYSFS && X86
select ZSMALLOC
select LZO_COMPRESS
select LZO_DECOMPRESS
config ZSMALLOC
tristate "Memory allocator for compressed pages"
- depends on SPARSEMEM
+ # X86 dependency is because of the use of __flush_tlb_one and set_pte
+ # in zsmalloc-main.c.
+ # TODO: convert these to portable functions
+ depends on SPARSEMEM && X86
default n
help
zsmalloc is a slab-based memory allocator designed to store
#include <asm/pgtable.h>
#include <linux/cpumask.h>
#include <linux/cpu.h>
+#include <linux/vmalloc.h>
#include "zsmalloc.h"
#include "zsmalloc_int.h"