提交 796ce5a7 编写于 作者: A Arnd Bergmann 提交者: Greg Kroah-Hartman

staging/zsmalloc: don't use pgtable-mapping from modules

Building zsmalloc as a module does not work on ARM because it uses
an interface that is not exported:

ERROR: "flush_tlb_kernel_range" [drivers/staging/zsmalloc/zsmalloc.ko] undefined!

Since this is only used as a performance optimization and only on ARM,
we can avoid the problem simply by not using that optimization when
building zsmalloc it is a loadable module.

flush_tlb_kernel_range is often an inline function, but out of the
architectures that use an extern function, only powerpc exports
it.
Signed-off-by: NArnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Seth Jennings <sjenning@linux.vnet.ibm.com>
Cc: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 2516ffac
...@@ -225,7 +225,7 @@ struct zs_pool { ...@@ -225,7 +225,7 @@ struct zs_pool {
* so that USE_PGTABLE_MAPPING is defined. This causes zsmalloc to use * so that USE_PGTABLE_MAPPING is defined. This causes zsmalloc to use
* page table mapping rather than copying for object mapping. * page table mapping rather than copying for object mapping.
*/ */
#if defined(CONFIG_ARM) #if defined(CONFIG_ARM) && !defined(MODULE)
#define USE_PGTABLE_MAPPING #define USE_PGTABLE_MAPPING
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册