Loading arch/arm64/configs/msm-auto-perf_defconfig +2 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,8 @@ CONFIG_SCHED_MC=y CONFIG_NR_CPUS=8 CONFIG_PREEMPT=y CONFIG_HZ_100=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_CMA=y CONFIG_ZSMALLOC=y CONFIG_BALANCE_ANON_FILE_RECLAIM=y Loading arch/arm64/configs/msm-auto_defconfig +2 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,8 @@ CONFIG_SCHED_MC=y CONFIG_NR_CPUS=8 CONFIG_PREEMPT=y CONFIG_HZ_100=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_CMA=y CONFIG_CMA_DEBUGFS=y CONFIG_ZSMALLOC=y Loading arch/arm64/mm/mmu.c +12 −3 Original line number Diff line number Diff line Loading @@ -1073,6 +1073,7 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node) pgd_t *pgd; pud_t *pud; pmd_t *pmd; int ret = 0; do { next = pmd_addr_end(addr, end); Loading @@ -1090,15 +1091,23 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node) void *p = NULL; p = vmemmap_alloc_block_buf(PMD_SIZE, node); if (!p) return -ENOMEM; if (!p) { #ifdef CONFIG_MEMORY_HOTPLUG vmemmap_free(start, end); #endif ret = -ENOMEM; break; } set_pmd(pmd, __pmd(__pa(p) | PROT_SECT_NORMAL)); } else vmemmap_verify((pte_t *)pmd, node, addr, next); } while (addr = next, addr != end); return 0; if (ret) return vmemmap_populate_basepages(start, end, node); else return ret; } #endif /* CONFIG_ARM64_64K_PAGES */ void vmemmap_free(unsigned long start, unsigned long end) Loading Loading
arch/arm64/configs/msm-auto-perf_defconfig +2 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,8 @@ CONFIG_SCHED_MC=y CONFIG_NR_CPUS=8 CONFIG_PREEMPT=y CONFIG_HZ_100=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_CMA=y CONFIG_ZSMALLOC=y CONFIG_BALANCE_ANON_FILE_RECLAIM=y Loading
arch/arm64/configs/msm-auto_defconfig +2 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,8 @@ CONFIG_SCHED_MC=y CONFIG_NR_CPUS=8 CONFIG_PREEMPT=y CONFIG_HZ_100=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_CMA=y CONFIG_CMA_DEBUGFS=y CONFIG_ZSMALLOC=y Loading
arch/arm64/mm/mmu.c +12 −3 Original line number Diff line number Diff line Loading @@ -1073,6 +1073,7 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node) pgd_t *pgd; pud_t *pud; pmd_t *pmd; int ret = 0; do { next = pmd_addr_end(addr, end); Loading @@ -1090,15 +1091,23 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node) void *p = NULL; p = vmemmap_alloc_block_buf(PMD_SIZE, node); if (!p) return -ENOMEM; if (!p) { #ifdef CONFIG_MEMORY_HOTPLUG vmemmap_free(start, end); #endif ret = -ENOMEM; break; } set_pmd(pmd, __pmd(__pa(p) | PROT_SECT_NORMAL)); } else vmemmap_verify((pte_t *)pmd, node, addr, next); } while (addr = next, addr != end); return 0; if (ret) return vmemmap_populate_basepages(start, end, node); else return ret; } #endif /* CONFIG_ARM64_64K_PAGES */ void vmemmap_free(unsigned long start, unsigned long end) Loading