From: Michael Schmitz <schmitzmic@googlemail.com>
To: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
Cc: Michael Schmitz <schmitzmic@googlemail.com>,
David Rientjes <rientjes@google.com>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Andrew Morton <akpm@linux-foundation.org>,
Roman Zippel <zippel@linux-m68k.org>,
linux-m68k@vger.kernel.org, linux-kernel@vger.kernel.org,
schwab@linux-m68k.org,
"tg@mirbsd.de >> Thorsten Glaser" <tg@mirbsd.de>
Subject: Re: [patch] m68k, mm: set all online nodes in N_NORMAL_MEMORY
Date: Sun, 24 Apr 2011 16:01:30 +1200 [thread overview]
Message-ID: <4DB3A09A.70308@gmail.com> (raw)
In-Reply-To: <BANLkTi=vm-qs48-JySCpv+YHyC+9sO9U0A@mail.gmail.com>
KOSAKI Motohiro wrote:
> 2011/4/24 Michael Schmitz <schmitzmic@googlemail.com>:
>
>> David Rientjes wrote:
>>
>>> For m68k, N_NORMAL_MEMORY represents all nodes that have present memory
>>> since it does not support HIGHMEM. This patch sets the bit at the time the
>>> node is brought online.
>>>
>>> If N_NORMAL_MEMORY is not accurate, slub may encounter errors since it
>>> uses this nodemask to setup per-cache kmem_cache_node data structures.
>>>
>>> Signed-off-by: David Rientjes <rientjes@google.com>
>>> ---
>>> arch/m68k/mm/init_mm.c | 2 ++
>>> 1 files changed, 2 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/arch/m68k/mm/init_mm.c b/arch/m68k/mm/init_mm.c
>>> --- a/arch/m68k/mm/init_mm.c
>>> +++ b/arch/m68k/mm/init_mm.c
>>> @@ -59,6 +59,8 @@ void __init m68k_setup_node(int node)
>>> }
>>> #endif
>>> pg_data_map[node].bdata = bootmem_node_data + node;
>>> + if (node_present_pages(node))
>>> + node_set_state(node, N_NORMAL_MEMORY);
>>> node_set_online(node);
>>> }
>>>
>>>
>> As Andreas pointed out, node_present_pages is set in free_area_init_node
>> which only gets called at the very end of m68k mm paging_init.
>>
>> The correct patch would be something like this - the need for the
>> conditional is perhaps debatable, seeing as we set the pages present just
>> before node_set_state.
>>
>> Tested on my ARAnyM test setup so far. I'd like to wait for an independent
>> kernel image built by Thorsten before I test on the actual hardware. Sorry
>> but you'll have to restart your build Thorsten :-)
>>
>> Signed-off-by: Michael Schmitz <schmitz@debian.org>
>> --
>> diff --git a/arch/m68k/mm/motorola.c b/arch/m68k/mm/motorola.c
>> index 02b7a03..b806c19 100644
>> --- a/arch/m68k/mm/motorola.c
>> +++ b/arch/m68k/mm/motorola.c
>> @@ -300,6 +300,8 @@ void __init paging_init(void)
>> zones_size[ZONE_DMA] = m68k_memory[i].size >> PAGE_SHIFT;
>> free_area_init_node(i, zones_size,
>> m68k_memory[i].addr >> PAGE_SHIFT, NULL);
>> + if (node_present_pages(i))
>> + node_set_state(i, N_NORMAL_MEMORY);
>> }
>> }
>>
>
> I think you are right. however I doubt m68k need to care memoryless node check.
> probably following patch just work.
>
> ------------------------------------
> diff --git a/arch/m68k/mm/init_mm.c b/arch/m68k/mm/init_mm.c
> --- a/arch/m68k/mm/init_mm.c
> +++ b/arch/m68k/mm/init_mm.c
> @@ -59,6 +59,8 @@ void __init m68k_setup_node(int node)
> }
> #endif
> pg_data_map[node].bdata = bootmem_node_data + node;
> node_set_online(node);
> + node_set_state(node, N_NORMAL_MEMORY);
>
It does in fact - that's what I had as a workaround before.
Memory node information is provided by the respective m68k bootstrap so
memoryless nodes won't be possible indeed.
> Maybe, the correct solution is to use CONFIG_ARCH_POPULATES_NODE_MAP feature.
> the usage is simple, adding add_active_range() and replacing
> free_area_init_node() with free_area_init_nodes().
>
Either of the patches should work as long as there is not a potential
problem with setting the node state before setting node_present_pages.
Your suggestion may work as well but I cannot judge whether there may be
side effects in relation to special case handling of node zero on m68k.
Do we need to call add_active_range at the time init_bootmem_node is
called? That would be a bit earlier in paging_init, and achieve much the
same thing as the proposed patch or the earlier workaround.
Besides, your solution would set N_HIGH_MEMORY not N_NORMAL_MEMORY if I
read free_area_init_nodes() right. Does that matter?
Cheers,
Michael
next prev parent reply other threads:[~2011-04-24 4:01 UTC|newest]
Thread overview: 208+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-15 13:51 [PATCH] mm: make expand_downwards symmetrical to expand_upwards Michal Hocko
2011-04-15 13:51 ` Michal Hocko
2011-04-18 3:00 ` Hugh Dickins
2011-04-18 3:00 ` Hugh Dickins
2011-04-18 10:01 ` [PATCH v2] " Michal Hocko
2011-04-18 10:01 ` Michal Hocko
2011-04-18 20:56 ` Andrew Morton
2011-04-18 20:56 ` Andrew Morton
[not found] ` <20110419091022.GA21689@tiehlicka.suse.cz>
2011-04-19 11:09 ` [PATCH followup] mm: get rid of CONFIG_STACK_GROWSUP || CONFIG_IA64 Michal Hocko
2011-04-19 11:09 ` Michal Hocko
2011-04-20 0:33 ` KOSAKI Motohiro
2011-04-20 0:33 ` KOSAKI Motohiro
2011-04-20 6:59 ` Michal Hocko
2011-04-20 6:59 ` Michal Hocko
2011-04-20 7:08 ` KOSAKI Motohiro
2011-04-20 7:08 ` KOSAKI Motohiro
2011-04-26 7:59 ` Michal Hocko
2011-04-26 7:59 ` Michal Hocko
2011-04-19 11:10 ` [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards Michal Hocko
2011-04-19 11:10 ` Michal Hocko
2011-04-19 11:10 ` Michal Hocko
2011-04-19 15:46 ` James Bottomley
2011-04-19 15:46 ` James Bottomley
2011-04-19 16:06 ` [PATCH v3] mm: make expand_downwards symmetrical to John David Anglin
2011-04-19 16:06 ` John David Anglin
2011-04-19 16:59 ` James Bottomley
2011-04-19 16:59 ` James Bottomley
2011-04-19 16:07 ` [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards James Bottomley
2011-04-19 16:07 ` James Bottomley
2011-04-19 17:05 ` Pekka Enberg
2011-04-19 17:05 ` Pekka Enberg
2011-04-19 17:05 ` Pekka Enberg
2011-04-19 17:11 ` James Bottomley
2011-04-19 17:11 ` James Bottomley
2011-04-19 17:15 ` Christoph Lameter
2011-04-19 17:15 ` Christoph Lameter
2011-04-19 17:48 ` James Bottomley
2011-04-19 17:48 ` James Bottomley
2011-04-19 18:10 ` Christoph Lameter
2011-04-19 18:10 ` Christoph Lameter
2011-04-19 18:20 ` James Bottomley
2011-04-19 18:20 ` James Bottomley
2011-04-19 18:35 ` Christoph Lameter
2011-04-19 18:35 ` Christoph Lameter
2011-04-19 19:49 ` James Bottomley
2011-04-19 19:49 ` James Bottomley
2011-04-19 20:56 ` Christoph Lameter
2011-04-19 20:56 ` Christoph Lameter
2011-04-19 21:21 ` James Bottomley
2011-04-19 21:21 ` James Bottomley
2011-04-19 21:39 ` Christoph Lameter
2011-04-19 21:39 ` Christoph Lameter
2011-04-19 21:48 ` James Bottomley
2011-04-19 21:48 ` James Bottomley
2011-04-19 21:58 ` Christoph Lameter
2011-04-19 21:58 ` Christoph Lameter
2011-04-20 1:23 ` KOSAKI Motohiro
2011-04-20 1:23 ` KOSAKI Motohiro
2011-04-20 2:48 ` James Bottomley
2011-04-20 2:48 ` James Bottomley
2011-04-20 2:57 ` KOSAKI Motohiro
2011-04-20 2:57 ` KOSAKI Motohiro
2011-04-20 2:57 ` KOSAKI Motohiro
2011-04-20 13:50 ` Christoph Lameter
2011-04-20 13:50 ` Christoph Lameter
2011-04-21 13:32 ` Tejun Heo
2011-04-21 13:32 ` Tejun Heo
2011-04-20 5:53 ` Pekka Enberg
2011-04-20 5:53 ` Pekka Enberg
2011-04-20 7:15 ` KOSAKI Motohiro
2011-04-20 7:15 ` KOSAKI Motohiro
2011-04-20 7:34 ` Pekka Enberg
2011-04-20 7:34 ` Pekka Enberg
2011-04-20 7:34 ` Pekka Enberg
2011-04-20 8:40 ` KOSAKI Motohiro
2011-04-20 8:40 ` KOSAKI Motohiro
2011-04-20 8:40 ` KOSAKI Motohiro
2011-04-20 16:32 ` James Bottomley
2011-04-20 16:32 ` James Bottomley
2011-04-20 16:50 ` Christoph Lameter
2011-04-20 16:50 ` Christoph Lameter
2011-04-20 18:09 ` James Bottomley
2011-04-20 18:09 ` James Bottomley
2011-04-20 21:18 ` David Rientjes
2011-04-20 21:18 ` David Rientjes
2011-04-20 22:15 ` James Bottomley
2011-04-20 22:15 ` James Bottomley
2011-04-20 23:12 ` David Rientjes
2011-04-20 23:12 ` David Rientjes
2011-04-21 13:16 ` KOSAKI Motohiro
2011-04-21 13:16 ` KOSAKI Motohiro
2011-04-21 16:37 ` James Bottomley
2011-04-21 16:37 ` James Bottomley
2011-04-21 18:33 ` Christoph Lameter
2011-04-21 18:33 ` Christoph Lameter
2011-04-21 18:45 ` Dave Hansen
2011-04-21 18:45 ` Dave Hansen
2011-04-22 18:19 ` James Bottomley
2011-04-22 18:19 ` James Bottomley
2011-04-22 20:24 ` Dave Hansen
2011-04-22 20:24 ` Dave Hansen
2011-04-22 20:35 ` James Bottomley
2011-04-22 20:35 ` James Bottomley
2011-04-22 21:33 ` James Bottomley
2011-04-22 21:33 ` James Bottomley
2011-04-23 18:34 ` [PATCH] convert parisc to sparsemem (was Re: [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards) James Bottomley
2011-04-23 18:34 ` James Bottomley
2011-04-24 16:27 ` John David Anglin
2011-04-24 16:27 ` John David Anglin
2011-04-26 0:32 ` KOSAKI Motohiro
2011-04-26 0:32 ` KOSAKI Motohiro
2011-04-27 16:36 ` Dave Hansen
2011-04-27 16:36 ` Dave Hansen
2011-04-21 20:05 ` [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards James Bottomley
2011-04-21 20:05 ` James Bottomley
2011-04-21 21:07 ` Christoph Lameter
2011-04-21 21:07 ` Christoph Lameter
2011-04-21 21:22 ` James Bottomley
2011-04-21 21:22 ` James Bottomley
2011-04-21 19:33 ` David Rientjes
2011-04-21 19:33 ` David Rientjes
2011-04-22 0:34 ` KOSAKI Motohiro
2011-04-22 0:34 ` KOSAKI Motohiro
2011-04-21 2:27 ` [patch] parisc: set memory ranges in N_NORMAL_MEMORY when onlined David Rientjes
2011-04-21 13:03 ` [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards KOSAKI Motohiro
2011-04-21 13:03 ` KOSAKI Motohiro
2011-04-21 19:38 ` David Rientjes
2011-04-21 19:38 ` David Rientjes
2011-04-21 20:02 ` Christoph Lameter
2011-04-21 20:02 ` Christoph Lameter
2011-04-21 21:19 ` David Rientjes
2011-04-21 21:19 ` David Rientjes
2011-04-21 21:24 ` James Bottomley
2011-04-21 21:24 ` James Bottomley
2011-04-21 21:34 ` David Rientjes
2011-04-21 21:34 ` David Rientjes
2011-04-21 21:49 ` James Bottomley
2011-04-21 21:49 ` James Bottomley
2011-04-21 22:12 ` David Rientjes
2011-04-21 22:12 ` David Rientjes
2011-04-22 8:02 ` Pekka Enberg
2011-04-22 8:02 ` Pekka Enberg
2011-04-22 8:02 ` Pekka Enberg
2011-04-22 13:49 ` James Bottomley
2011-04-22 13:49 ` James Bottomley
2011-04-22 17:00 ` Pekka Enberg
2011-04-22 17:00 ` Pekka Enberg
2011-04-22 17:03 ` James Bottomley
2011-04-22 17:03 ` James Bottomley
2011-04-21 21:31 ` [patch] parisc: enable CONFIG_NUMA for DISCONTIGMEM and fix build errors David Rientjes
2011-04-21 21:41 ` [patch] mm: always set nodes with regular memory in N_NORMAL_MEMORY David Rientjes
2011-04-21 21:41 ` David Rientjes
2011-04-22 0:36 ` KOSAKI Motohiro
2011-04-22 0:36 ` KOSAKI Motohiro
2011-04-21 22:00 ` [patch] alpha, mm: set all online nodes " David Rientjes
2011-04-21 22:01 ` [patch] m32r, " David Rientjes
2011-04-21 22:02 ` [patch] m68k, " David Rientjes
2011-04-24 1:59 ` Michael Schmitz
2011-04-24 3:14 ` KOSAKI Motohiro
2011-04-24 4:01 ` Michael Schmitz [this message]
2011-04-24 5:05 ` Michael Schmitz
2011-04-24 6:04 ` KOSAKI Motohiro
2011-04-24 11:32 ` Thorsten Glaser
2011-04-25 2:41 ` Michael Schmitz
2011-04-25 14:22 ` Thorsten Glaser
2011-04-24 12:18 ` Thorsten Glaser
2011-04-25 20:56 ` David Rientjes
2011-04-26 2:51 ` Michael Schmitz
2011-04-26 10:50 ` Thorsten Glaser
2011-04-27 13:19 ` Geert Uytterhoeven
2011-04-27 15:09 ` Thorsten Glaser
2011-04-27 15:11 ` Thorsten Glaser
2011-04-28 2:35 ` Ben Hutchings
2011-04-28 3:05 ` Michael Schmitz
2011-04-20 21:05 ` [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards David Rientjes
2011-04-20 21:05 ` David Rientjes
2011-04-20 11:20 ` Matthew Wilcox
2011-04-20 11:20 ` Matthew Wilcox
2011-04-20 11:28 ` Pekka Enberg
2011-04-20 11:28 ` Pekka Enberg
2011-04-20 11:28 ` Pekka Enberg
2011-04-20 14:15 ` James Bottomley
2011-04-20 14:15 ` James Bottomley
2011-04-20 14:50 ` Christoph Lameter
2011-04-20 14:50 ` Christoph Lameter
2011-04-20 15:02 ` James Bottomley
2011-04-20 15:02 ` James Bottomley
2011-04-20 15:22 ` Christoph Lameter
2011-04-20 15:22 ` Christoph Lameter
2011-04-20 19:25 ` Matthew Wilcox
2011-04-20 19:25 ` Matthew Wilcox
2011-04-20 21:42 ` David Rientjes
2011-04-20 21:42 ` David Rientjes
2011-04-21 16:06 ` James Bottomley
2011-04-21 16:06 ` James Bottomley
2011-04-21 22:19 ` David Rientjes
2011-04-21 22:19 ` David Rientjes
2011-04-21 22:31 ` James Bottomley
2011-04-21 22:31 ` James Bottomley
2011-04-20 13:58 ` Christoph Lameter
2011-04-20 13:58 ` Christoph Lameter
2011-04-20 21:34 ` David Rientjes
2011-04-20 21:34 ` David Rientjes
2011-04-20 14:07 ` Christoph Lameter
2011-04-20 14:07 ` Christoph Lameter
2011-04-20 2:33 ` James Bottomley
2011-04-20 2:33 ` James Bottomley
2011-04-19 17:12 ` 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=4DB3A09A.70308@gmail.com \
--to=schmitzmic@googlemail.com \
--cc=akpm@linux-foundation.org \
--cc=geert@linux-m68k.org \
--cc=kosaki.motohiro@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=rientjes@google.com \
--cc=schwab@linux-m68k.org \
--cc=tg@mirbsd.de \
--cc=zippel@linux-m68k.org \
/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.