|
@@ -218,19 +218,8 @@ struct zs_pool {
|
|
|
#define CLASS_IDX_MASK ((1 << CLASS_IDX_BITS) - 1)
|
|
|
#define FULLNESS_MASK ((1 << FULLNESS_BITS) - 1)
|
|
|
|
|
|
-/*
|
|
|
- * By default, zsmalloc uses a copy-based object mapping method to access
|
|
|
- * allocations that span two pages. However, if a particular architecture
|
|
|
- * performs VM mapping faster than copying, then it should be added here
|
|
|
- * so that USE_PGTABLE_MAPPING is defined. This causes zsmalloc to use
|
|
|
- * page table mapping rather than copying for object mapping.
|
|
|
- */
|
|
|
-#if defined(CONFIG_ARM) && !defined(MODULE)
|
|
|
-#define USE_PGTABLE_MAPPING
|
|
|
-#endif
|
|
|
-
|
|
|
struct mapping_area {
|
|
|
-#ifdef USE_PGTABLE_MAPPING
|
|
|
+#ifdef CONFIG_PGTABLE_MAPPING
|
|
|
struct vm_struct *vm; /* vm area for mapping object that span pages */
|
|
|
#else
|
|
|
char *vm_buf; /* copy buffer for objects that span pages */
|
|
@@ -631,7 +620,7 @@ static struct page *find_get_zspage(struct size_class *class)
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
-#ifdef USE_PGTABLE_MAPPING
|
|
|
+#ifdef CONFIG_PGTABLE_MAPPING
|
|
|
static inline int __zs_cpu_up(struct mapping_area *area)
|
|
|
{
|
|
|
/*
|
|
@@ -669,7 +658,7 @@ static inline void __zs_unmap_object(struct mapping_area *area,
|
|
|
unmap_kernel_range(addr, PAGE_SIZE * 2);
|
|
|
}
|
|
|
|
|
|
-#else /* USE_PGTABLE_MAPPING */
|
|
|
+#else /* CONFIG_PGTABLE_MAPPING */
|
|
|
|
|
|
static inline int __zs_cpu_up(struct mapping_area *area)
|
|
|
{
|
|
@@ -747,7 +736,7 @@ out:
|
|
|
pagefault_enable();
|
|
|
}
|
|
|
|
|
|
-#endif /* USE_PGTABLE_MAPPING */
|
|
|
+#endif /* CONFIG_PGTABLE_MAPPING */
|
|
|
|
|
|
static int zs_cpu_notifier(struct notifier_block *nb, unsigned long action,
|
|
|
void *pcpu)
|