提交 f2057b42 编写于 作者: D David Hildenbrand 提交者: Heiko Carstens

s390/vmemmap: fallback to PTEs if mapping large PMD fails

Let's fallback to single pages if short on huge pages. No need to stop
memory hotplug.

Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: NDavid Hildenbrand <david@redhat.com>
Message-Id: <20200722094558.9828-8-david@redhat.com>
Signed-off-by: NHeiko Carstens <hca@linux.ibm.com>
上级 b9ff8100
...@@ -180,11 +180,11 @@ static int __ref modify_pmd_table(pud_t *pud, unsigned long addr, ...@@ -180,11 +180,11 @@ static int __ref modify_pmd_table(pud_t *pud, unsigned long addr,
*/ */
new_page = vmemmap_alloc_block(PMD_SIZE, new_page = vmemmap_alloc_block(PMD_SIZE,
NUMA_NO_NODE); NUMA_NO_NODE);
if (!new_page) if (new_page) {
goto out;
pmd_val(*pmd) = __pa(new_page) | prot; pmd_val(*pmd) = __pa(new_page) | prot;
continue; continue;
} }
}
pte = vmem_pte_alloc(); pte = vmem_pte_alloc();
if (!pte) if (!pte)
goto out; goto out;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册