s390: convert remaining bootmem allocations to memblock
Get rid of all remaining alloc_bootmem calls and use memblock_alloc instead everywhere. This way we get rid of the inconsistent mixture of alloc_bootmem and memblock_alloc usages. Two of the alloc_bootmem_low calls within arch/s390/kernel/setup.c are replaced with memblock_alloc calls that don't enforce that the allocated memory is below 2GB. This restriction was never necessary. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Este commit está contenido en:

cometido por
Martin Schwidefsky

padre
cb9c638510
commit
9e427365af
@@ -34,7 +34,7 @@ static void __ref *vmem_alloc_pages(unsigned int order)
|
||||
|
||||
if (slab_is_available())
|
||||
return (void *)__get_free_pages(GFP_KERNEL, order);
|
||||
return alloc_bootmem_align(size, size);
|
||||
return (void *) memblock_alloc(size, size);
|
||||
}
|
||||
|
||||
static inline pud_t *vmem_pud_alloc(void)
|
||||
@@ -61,17 +61,16 @@ pmd_t *vmem_pmd_alloc(void)
|
||||
|
||||
pte_t __ref *vmem_pte_alloc(void)
|
||||
{
|
||||
unsigned long size = PTRS_PER_PTE * sizeof(pte_t);
|
||||
pte_t *pte;
|
||||
|
||||
if (slab_is_available())
|
||||
pte = (pte_t *) page_table_alloc(&init_mm);
|
||||
else
|
||||
pte = alloc_bootmem_align(PTRS_PER_PTE * sizeof(pte_t),
|
||||
PTRS_PER_PTE * sizeof(pte_t));
|
||||
pte = (pte_t *) memblock_alloc(size, size);
|
||||
if (!pte)
|
||||
return NULL;
|
||||
clear_table((unsigned long *) pte, _PAGE_INVALID,
|
||||
PTRS_PER_PTE * sizeof(pte_t));
|
||||
clear_table((unsigned long *) pte, _PAGE_INVALID, size);
|
||||
return pte;
|
||||
}
|
||||
|
||||
|
Referencia en una nueva incidencia
Block a user