Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d06b8ea1 authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "arm64: Add fallback option during memory hot add"

parents f64ad702 314d95fa
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -1145,6 +1145,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);
@@ -1162,15 +1163,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)