Re: [PATCH] mm/sparse: don't check return value of alloc_bootmemcalls

From: Sasha Levin
Date: Thu Dec 20 2012 - 15:38:07 EST


On 12/20/2012 03:23 PM, David Rientjes wrote:
> On Thu, 20 Dec 2012, Sasha Levin wrote:
>
>> diff --git a/mm/sparse.c b/mm/sparse.c
>> index 6b5fb76..ae64d6e 100644
>> --- a/mm/sparse.c
>> +++ b/mm/sparse.c
>> @@ -403,15 +403,13 @@ void __init sparse_mem_maps_populate_node(struct page **map_map,
>> size = PAGE_ALIGN(size);
>> map = __alloc_bootmem_node_high(NODE_DATA(nodeid), size * map_count,
>> PAGE_SIZE, __pa(MAX_DMA_ADDRESS));
>> - if (map) {
>> - for (pnum = pnum_begin; pnum < pnum_end; pnum++) {
>> - if (!present_section_nr(pnum))
>> - continue;
>> - map_map[pnum] = map;
>> - map += size;
>> - }
>> - return;
>> + for (pnum = pnum_begin; pnum < pnum_end; pnum++) {
>> + if (!present_section_nr(pnum))
>> + continue;
>> + map_map[pnum] = map;
>> + map += size;
>> }
>> + return;
>>
>> /* fallback */
>> for (pnum = pnum_begin; pnum < pnum_end; pnum++) {
>
> That's not true when slab_is_available() and why would you possibly add a
> return statement right before fallback code in such cases?

So what we really need is to update the documentation of __alloc_bootmem_node, I'll send
a patch that does that instead.

I've dragged the 'return' out of the if(map) condition, I should have removed the fallback
as well and so the return would also be gone, but that's irrelevant now.


Thanks,
Sasha
--
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/