Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

memblock, bootmem: restore goal for alloc_low

Now we have memblock_virt_alloc_low to replace original bootmem api in
swiotlb.

But we should not use BOOTMEM_LOW_LIMIT for arch that does not support
CONFIG_NOBOOTMEM, as old api take 0.

| #define alloc_bootmem_low(x) \
| __alloc_bootmem_low(x, SMP_CACHE_BYTES, 0)
|#define alloc_bootmem_low_pages_nopanic(x) \
| __alloc_bootmem_low_nopanic(x, PAGE_SIZE, 0)

and we have
#define BOOTMEM_LOW_LIMIT __pa(MAX_DMA_ADDRESS)
for CONFIG_NOBOOTMEM.

Restore goal to 0 to fix ia64 crash, that Tony found.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Reported-by: Tony Luck <tony.luck@gmail.com>
Tested-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Yinghai Lu and committed by
Linus Torvalds
07bacb38 53d8ab29

+2 -2
+2 -2
include/linux/bootmem.h
··· 264 264 { 265 265 if (!align) 266 266 align = SMP_CACHE_BYTES; 267 - return __alloc_bootmem_low(size, align, BOOTMEM_LOW_LIMIT); 267 + return __alloc_bootmem_low(size, align, 0); 268 268 } 269 269 270 270 static inline void * __init memblock_virt_alloc_low_nopanic( ··· 272 272 { 273 273 if (!align) 274 274 align = SMP_CACHE_BYTES; 275 - return __alloc_bootmem_low_nopanic(size, align, BOOTMEM_LOW_LIMIT); 275 + return __alloc_bootmem_low_nopanic(size, align, 0); 276 276 } 277 277 278 278 static inline void * __init memblock_virt_alloc_from_nopanic(