From: Sasha Levin <sasha.levin@oracle.com>
To: David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Michal Hocko <mhocko@suse.cz>,
Gavin Shan <shangw@linux.vnet.ibm.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm/sparse: don't check return value of alloc_bootmem calls
Date: Thu, 20 Dec 2012 15:36:57 -0500 [thread overview]
Message-ID: <50D376E9.9030507@oracle.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1212201218590.29839@chino.kir.corp.google.com>
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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <sasha.levin@oracle.com>
To: David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Michal Hocko <mhocko@suse.cz>,
Gavin Shan <shangw@linux.vnet.ibm.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm/sparse: don't check return value of alloc_bootmem calls
Date: Thu, 20 Dec 2012 15:36:57 -0500 [thread overview]
Message-ID: <50D376E9.9030507@oracle.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1212201218590.29839@chino.kir.corp.google.com>
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
next prev parent reply other threads:[~2012-12-20 20:37 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-20 19:11 [PATCH] tools, power: correct precedence of operators in init_maxfreq_mode Sasha Levin
2012-12-20 19:11 ` [PATCH] kvm tools: remove unneeded checks in qcow code Sasha Levin
2012-12-21 22:03 ` Jesper Juhl
2012-12-20 19:11 ` [PATCH] kvm tools: remove unneeded check from disk code Sasha Levin
2012-12-20 19:11 ` [PATCH] kvm tools: correctly compare pointer with NULL instead of 0 Sasha Levin
2012-12-20 19:11 ` [PATCH] tools lib traceevent: remove redundant check from process_dynamic_array Sasha Levin
2012-12-21 12:58 ` Namhyung Kim
2012-12-20 19:11 ` [PATCH] epoll: stop comparing pointers with 0 in self-test app Sasha Levin
2012-12-21 2:55 ` Daniel Hazelton
2012-12-20 19:11 ` [PATCH] tools/usb: remove unneeded 'continue' and simplify condition Sasha Levin
2012-12-20 20:32 ` Felipe Balbi
2012-12-20 19:11 ` [PATCH] perf kmem: use ARRAY_SIZE instead of reinventing it Sasha Levin
2013-01-25 11:19 ` [tip:perf/core] " tip-bot for Sasha Levin
2012-12-20 19:11 ` [PATCH] cpupowerutils: don't compare pointers with 0 Sasha Levin
2012-12-21 21:41 ` Thomas Renninger
2012-12-20 19:11 ` [PATCH] m2m-deinterlace: use correct check for kzalloc failure Sasha Levin
2012-12-20 19:11 ` [PATCH] perf script: use ARRAY_SIZE instead of reinventing it Sasha Levin
2013-01-25 11:20 ` [tip:perf/core] " tip-bot for Sasha Levin
2012-12-20 19:11 ` [PATCH] perf tools: remove redundant checks from _sort__sym_cmp Sasha Levin
2012-12-21 12:55 ` Namhyung Kim
2013-01-25 11:17 ` [tip:perf/core] " tip-bot for Sasha Levin
2012-12-20 19:11 ` [PATCH] virtio_console: correct error message on failure of debugfs_create_dir Sasha Levin
2012-12-20 19:11 ` Sasha Levin
2012-12-21 7:59 ` Amit Shah
2012-12-21 7:59 ` Amit Shah
2012-12-24 11:55 ` Arnd Bergmann
2012-12-24 11:55 ` Arnd Bergmann
2012-12-24 17:39 ` Greg Kroah-Hartman
2012-12-24 17:39 ` Greg Kroah-Hartman
2012-12-24 18:24 ` Sasha Levin
2012-12-24 18:24 ` Sasha Levin
2012-12-24 18:43 ` Greg Kroah-Hartman
2012-12-24 18:43 ` Greg Kroah-Hartman
2012-12-20 19:11 ` [PATCH] debugfs: remove redundant initialization of dentry Sasha Levin
2012-12-20 19:11 ` [PATCH] PCI: cpqphp: minor cleanup and removal of unreachable paths Sasha Levin
2013-01-07 18:48 ` Bjorn Helgaas
2012-12-20 19:11 ` [PATCH] bnx2x: use ARRAY_SIZE where possible Sasha Levin
2012-12-23 8:49 ` Eilon Greenstein
2012-12-28 4:30 ` David Miller
2012-12-20 19:11 ` [PATCH] wireless: mwifiex: remove unreachable paths Sasha Levin
2012-12-20 20:13 ` Bing Zhao
2012-12-20 19:11 ` [PATCH] mmc: omap_hsmmc: correct precedence of operators Sasha Levin
2012-12-20 20:30 ` Felipe Balbi
2012-12-20 20:30 ` Felipe Balbi
2012-12-20 23:04 ` Paul Walmsley
2012-12-20 19:11 ` [PATCH] kdb: use ARRAY_SIZE where possible Sasha Levin
2012-12-20 19:11 ` [PATCH] rcutorture: don't compare ptr with 0 Sasha Levin
2012-12-20 22:39 ` Josh Triplett
2013-01-04 17:27 ` Paul E. McKenney
2012-12-20 19:11 ` [PATCH] sched: fair: simplify can_migrate_task a bit Sasha Levin
2012-12-20 19:11 ` [PATCH] uprobes: remove redundant check Sasha Levin
2013-01-25 11:21 ` [tip:perf/core] " tip-bot for Sasha Levin
[not found] ` <1356030701-16284-1-git-send-email-sasha.levin-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-20 19:11 ` [PATCH] cgroup: " Sasha Levin
2012-12-20 19:11 ` Sasha Levin
[not found] ` <1356030701-16284-23-git-send-email-sasha.levin-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-20 19:18 ` Tejun Heo
2012-12-20 19:18 ` Tejun Heo
[not found] ` <20121220191803.GA14527-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-12-20 19:24 ` Sasha Levin
2012-12-20 19:24 ` Sasha Levin
2012-12-20 19:11 ` [PATCH] mm: memory_hotplug: no need to check res twice in add_memory Sasha Levin
2012-12-20 19:11 ` Sasha Levin
2012-12-20 19:11 ` [PATCH] x86, efi: correct precedence of operators in setup_efi_pci Sasha Levin
2012-12-20 19:59 ` [tip:x86/urgent] " tip-bot for Sasha Levin
2012-12-20 19:11 ` [PATCH] arch/x86/platform/uv: use ARRAY_SIZE where possible Sasha Levin
2012-12-20 22:37 ` [tip:x86/cleanups] " tip-bot for Sasha Levin
2012-12-20 19:11 ` [PATCH] um: don't compare a pointer to 0 Sasha Levin
2012-12-20 22:39 ` [tip:x86/cleanups] " tip-bot for Sasha Levin
2012-12-20 19:11 ` [PATCH] x86, apb_timer: remove unused variable percpu_timer Sasha Levin
2012-12-20 22:40 ` [tip:x86/cleanups] " tip-bot for Sasha Levin
2012-12-20 19:11 ` [PATCH] kdb: use DIV_ROUND_UP where possible Sasha Levin
2012-12-20 19:11 ` [PATCH] mm/sparse: don't check return value of alloc_bootmem calls Sasha Levin
2012-12-20 19:11 ` Sasha Levin
2012-12-20 20:23 ` David Rientjes
2012-12-20 20:23 ` David Rientjes
2012-12-20 20:36 ` Sasha Levin [this message]
2012-12-20 20:36 ` Sasha Levin
2012-12-20 20:43 ` David Rientjes
2012-12-20 20:43 ` David Rientjes
2012-12-20 19:11 ` [PATCH] slob: use DIV_ROUND_UP where possible Sasha Levin
2012-12-20 19:11 ` Sasha Levin
2012-12-20 19:40 ` Christoph Lameter
2012-12-20 19:40 ` Christoph Lameter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50D376E9.9030507@oracle.com \
--to=sasha.levin@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.cz \
--cc=rientjes@google.com \
--cc=shangw@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.