[PATCH] x86-64: x86-64 system crashes when no memory populating Node 0
I have a 4 socket AMD Operton system. The 2.6.18 kernel I have crashes when there is no memory in node0. AK: changed call to _nopanic Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
committed by
Andi Kleen
parent
1c3d99c11c
commit
82d1bb725e
@@ -51,7 +51,6 @@ static void __init insert_aperture_resource(u32 aper_base, u32 aper_size)
|
|||||||
|
|
||||||
static u32 __init allocate_aperture(void)
|
static u32 __init allocate_aperture(void)
|
||||||
{
|
{
|
||||||
pg_data_t *nd0 = NODE_DATA(0);
|
|
||||||
u32 aper_size;
|
u32 aper_size;
|
||||||
void *p;
|
void *p;
|
||||||
|
|
||||||
@@ -65,12 +64,12 @@ static u32 __init allocate_aperture(void)
|
|||||||
* Unfortunately we cannot move it up because that would make the
|
* Unfortunately we cannot move it up because that would make the
|
||||||
* IOMMU useless.
|
* IOMMU useless.
|
||||||
*/
|
*/
|
||||||
p = __alloc_bootmem_node(nd0, aper_size, aper_size, 0);
|
p = __alloc_bootmem_nopanic(aper_size, aper_size, 0);
|
||||||
if (!p || __pa(p)+aper_size > 0xffffffff) {
|
if (!p || __pa(p)+aper_size > 0xffffffff) {
|
||||||
printk("Cannot allocate aperture memory hole (%p,%uK)\n",
|
printk("Cannot allocate aperture memory hole (%p,%uK)\n",
|
||||||
p, aper_size>>10);
|
p, aper_size>>10);
|
||||||
if (p)
|
if (p)
|
||||||
free_bootmem_node(nd0, __pa(p), aper_size);
|
free_bootmem(__pa(p), aper_size);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
printk("Mapping aperture over %d KB of RAM @ %lx\n",
|
printk("Mapping aperture over %d KB of RAM @ %lx\n",
|
||||||
|
Reference in New Issue
Block a user