Re: [BUG] x86: bootmem broken on SGI UV

From: Yinghai Lu
Date: Sat Oct 09 2010 - 14:08:09 EST


On 10/09/2010 09:39 AM, Robin Holt wrote:
> On Sat, Oct 09, 2010 at 07:59:45AM -0500, Russ Anderson wrote:
>> Yes, Yinghai's patch fixes the problem.
>> Thank you very much.
>
> Will this be included in 2.6.36? It is needed for boot in order for UV
> systems to boot.
>

yes, it is needed for 2.6.33 .34 .35 .36

It is too late for put in 2.6.36. Linus already had -rc7, and assume he will have final .36 this week.

Yinghai

>>
>> On Fri, Oct 08, 2010 at 03:57:31PM -0700, Yinghai Lu wrote:
>>> On 10/08/2010 02:34 PM, Russ Anderson wrote:
>>>
>>> After looking at the changelog, it turns out it is broken for a while by
>>> following commit
>>>
>>> |commit 8716273caef7f55f39fe4fc6c69c5f9f197f41f1
>>> |Author: David Rientjes <rientjes@xxxxxxxxxx>
>>> |Date: Fri Sep 25 15:20:04 2009 -0700
>>> |
>>> | x86: Export srat physical topology
>>>
>>> before that commit, register_active_regions() is called SRAT memory entries.
>>>
>>> Try to use nodememblk_range[] instead of nodes[].
>>>
>>> For stable tree: from 2.6.33 to 2.3.36 need this patch by
>>> changing memblock_x86_register_active_regions() with e820_register_active_regions()
>>>
>>> Reported-by: Russ Anderson <rja@xxxxxxx>
>>> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
>>> Cc: stable@xxxxxxxxxx
>>>
>>> ---
>>> arch/x86/mm/srat_64.c | 8 +++++---
>>> 1 file changed, 5 insertions(+), 3 deletions(-)
>>>
>>> Index: linux-2.6/arch/x86/mm/srat_64.c
>>> ===================================================================
>>> --- linux-2.6.orig/arch/x86/mm/srat_64.c
>>> +++ linux-2.6/arch/x86/mm/srat_64.c
>>> @@ -421,9 +421,11 @@ int __init acpi_scan_nodes(unsigned long
>>> return -1;
>>> }
>>>
>>> - for_each_node_mask(i, nodes_parsed)
>>> - memblock_x86_register_active_regions(i, nodes[i].start >> PAGE_SHIFT,
>>> - nodes[i].end >> PAGE_SHIFT);
>>> + for (i = 0; i < num_node_memblks; i++)
>>> + memblock_x86_register_active_regions(memblk_nodeid[i],
>>> + node_memblk_range[i].start >> PAGE_SHIFT,
>>> + node_memblk_range[i].end >> PAGE_SHIFT);
>>> +
>>> /* for out of order entries in SRAT */
>>> sort_node_map();
>>> if (!nodes_cover_memory(nodes)) {
>>
>> --
>> Russ Anderson, OS RAS/Partitioning Project Lead
>> SGI - Silicon Graphics Inc rja@xxxxxxx
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/