• Heiko Carstens's avatar
    s390/kdump,bootmem: fix bootmem allocator bitmap size · 67b5c3ee
    Heiko Carstens authored
    When in kdump mode the kernel may access only the first couple of
    megabytes for execution, the rest contains the dump. However
    the size of the bitmap used by the bootmem allocator was calculated
    for the whole amount of memory of the machine.
    
    For very large machines this can lead to the situation that the kdump
    kernel will not come up because not enough memory is available.
    
    So fix this and calculate the size of the bitmap only for the piece
    of memory that the kdump kernel actually uses.
    
    Call reserve_oldmem() before setup_memory_end() so that the memory_chunk
    array already has been updated with respect to oldmem chunks.
    Afterwards setup_memory_end() will ignore those chunks.
    Reviewed-by: default avatarMichael Holzheu <holzheu@linux.vnet.ibm.com>
    Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    67b5c3ee
setup.c 29.5 KB