OSDN Git Service

Revert "mm: Update is_vmalloc_addr to account for vmalloc savings"
authorArtem Labazov <123321artyom@gmail.com>
Tue, 2 Apr 2019 17:32:11 +0000 (20:32 +0300)
committer0ranko0P <ranko0p@outlook.com>
Tue, 24 Dec 2019 20:42:37 +0000 (04:42 +0800)
This reverts commit 8db21e1d697814324681f0046f19ccf116b467e9.

Signed-off-by: Artem Labazov <123321artyom@gmail.com>
arch/arm/mm/mmu.c
include/linux/mm.h
include/linux/vmalloc.h
mm/vmalloc.c

index f353849..43374c4 100644 (file)
@@ -1487,7 +1487,6 @@ static void __init map_lowmem(void)
                vm->flags |= VM_ARM_MTYPE(type);
                vm->caller = map_lowmem;
                add_static_vm_early(svm++);
-               mark_vmalloc_reserved_area(vm->addr, vm->size);
        }
 }
 
index 4ea0553..305ef52 100644 (file)
@@ -418,16 +418,16 @@ unsigned long vmalloc_to_pfn(const void *addr);
  * On nommu, vmalloc/vfree wrap through kmalloc/kfree directly, so there
  * is no special casing required.
  */
-
+static inline bool is_vmalloc_addr(const void *x)
+{
 #ifdef CONFIG_MMU
-extern int is_vmalloc_addr(const void *x);
+       unsigned long addr = (unsigned long)x;
+
+       return addr >= VMALLOC_START && addr < VMALLOC_END;
 #else
-static inline int is_vmalloc_addr(const void *x)
-{
-       return 0;
-}
+       return false;
 #endif
-
+}
 #ifdef CONFIG_MMU
 extern int is_vmalloc_or_module_addr(const void *x);
 #else
index 0a55507..00a0648 100644 (file)
@@ -162,12 +162,6 @@ extern struct list_head vmap_area_list;
 extern __init void vm_area_add_early(struct vm_struct *vm);
 extern __init void vm_area_register_early(struct vm_struct *vm, size_t align);
 extern __init int vm_area_check_early(struct vm_struct *vm);
-#ifdef CONFIG_ENABLE_VMALLOC_SAVING
-extern void mark_vmalloc_reserved_area(void *addr, unsigned long size);
-#else
-static inline void mark_vmalloc_reserved_area(void *addr, unsigned long size)
-{ };
-#endif
 
 #ifdef CONFIG_SMP
 # ifdef CONFIG_MMU
@@ -193,12 +187,7 @@ pcpu_free_vm_areas(struct vm_struct **vms, int nr_vms)
 #endif
 
 #ifdef CONFIG_MMU
-#ifdef CONFIG_ENABLE_VMALLOC_SAVING
-extern unsigned long total_vmalloc_size;
-#define VMALLOC_TOTAL total_vmalloc_size
-#else
 #define VMALLOC_TOTAL (VMALLOC_END - VMALLOC_START)
-#endif
 #else
 #define VMALLOC_TOTAL 0UL
 #endif
index b47bdd8..e5a64cd 100644 (file)
@@ -290,57 +290,6 @@ static unsigned long cached_align;
 
 static unsigned long vmap_area_pcpu_hole;
 
-#ifdef CONFIG_ENABLE_VMALLOC_SAVING
-#define POSSIBLE_VMALLOC_START PAGE_OFFSET
-
-#define VMALLOC_BITMAP_SIZE    ((VMALLOC_END - PAGE_OFFSET) >> \
-                                       PAGE_SHIFT)
-#define VMALLOC_TO_BIT(addr)   ((addr - PAGE_OFFSET) >> PAGE_SHIFT)
-#define BIT_TO_VMALLOC(i)      (PAGE_OFFSET + i * PAGE_SIZE)
-
-unsigned long total_vmalloc_size;
-unsigned long vmalloc_reserved;
-
-DECLARE_BITMAP(possible_areas, VMALLOC_BITMAP_SIZE);
-
-void mark_vmalloc_reserved_area(void *x, unsigned long size)
-{
-       unsigned long addr = (unsigned long)x;
-
-       bitmap_set(possible_areas, VMALLOC_TO_BIT(addr), size >> PAGE_SHIFT);
-       vmalloc_reserved += size;
-}
-
-int is_vmalloc_addr(const void *x)
-{
-       unsigned long addr = (unsigned long)x;
-
-       if (addr < POSSIBLE_VMALLOC_START || addr >= VMALLOC_END)
-               return 0;
-
-       if (test_bit(VMALLOC_TO_BIT(addr), possible_areas))
-               return 0;
-
-       return 1;
-}
-
-static void calc_total_vmalloc_size(void)
-{
-       total_vmalloc_size = VMALLOC_END - POSSIBLE_VMALLOC_START -
-               vmalloc_reserved;
-}
-#else
-int is_vmalloc_addr(const void *x)
-{
-       unsigned long addr = (unsigned long)x;
-
-       return addr >= VMALLOC_START && addr < VMALLOC_END;
-}
-
-static void calc_total_vmalloc_size(void) { }
-#endif
-EXPORT_SYMBOL(is_vmalloc_addr);
-
 static struct vmap_area *__find_vmap_area(unsigned long addr)
 {
        struct rb_node *n = vmap_area_root.rb_node;
@@ -1295,7 +1244,7 @@ void __init vmalloc_init(void)
        }
 
        vmap_area_pcpu_hole = VMALLOC_END;
-       calc_total_vmalloc_size();
+
        vmap_initialized = true;
 }
 
@@ -2775,9 +2724,6 @@ static int s_show(struct seq_file *m, void *p)
        if (is_vmalloc_addr(v->pages))
                seq_puts(m, " vpages");
 
-       if (v->flags & VM_LOWMEM)
-               seq_puts(m, " lowmem");
-
        show_numa_info(m, v);
        seq_putc(m, '\n');
        return 0;