All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yinghai Lu <yinghai@kernel.org>
To: David Miller <davem@davemloft.net>
Cc: mingo@elte.hu, tglx@linutronix.de, hpa@zytor.com,
	akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
	linux-arch@vger.kernel.org
Subject: Re: [RFC PATCH 6/6] sparc64: use early_res and nobootmem
Date: Wed, 10 Mar 2010 15:05:47 -0800	[thread overview]
Message-ID: <4B9825CB.1000105@kernel.org> (raw)
In-Reply-To: <20100310.144916.143963072.davem@davemloft.net>

On 03/10/2010 02:49 PM, David Miller wrote:
> From: Yinghai Lu <yinghai@kernel.org>
> Date: Wed, 10 Mar 2010 14:20:18 -0800
> 
>> On 03/10/2010 02:04 PM, David Miller wrote:
>>> From: Yinghai Lu <yinghai@kernel.org>
>>> Date: Wed, 10 Mar 2010 13:24:27 -0800
>>>
>>>> use early_res/fw_memmap to replace lmb, so could use early_res replace bootme
>>>> later.
>>>>
>>>> Signed-off-by: Yinghai Lu <yinghai@kernel.org>
>>>
>>> This doesn't boot, it looks like early_res is not initialized
>>> early enough, the backtrace is:
>>>
>>> [    0.000000] Remapping the kernel... done.
>>> [    0.000000] Kernel panic - not syncing: can not find more space for early_res array
>>> [    0.000000] Call Trace:
>>> [    0.000000]  [0000000000882c48] __check_and_double_early_res+0xc0/0x1c8
>>> [    0.000000]  [0000000000882f18] reserve_early+0x10/0x38
>>> [    0.000000]  [000000000087b894] prom_early_alloc+0x48/0x7c
>>> [    0.000000]  [000000000087b3e4] get_one_property+0x28/0x50
>>> [    0.000000]  [000000000087b588] prom_create_node+0x44/0xe8
>>> [    0.000000]  [000000000087b6d0] prom_build_tree+0x1c/0xac
>>> [    0.000000]  [000000000087b7b4] prom_build_devicetree+0x54/0x80
>>> [    0.000000]  [000000000087fd34] paging_init+0x69c/0x1268
>>> [    0.000000]  [00000000008786f4] start_kernel+0x88/0x374
>>> [    0.000000]  [000000000070589c] tlb_fixup_done+0x98/0xa0
>>> [    0.000000]  [0000000000000000] (null)
>>
>> looks like we need to increase MAX_EARLY_RES_X in kernel/early_res.c
> 
> Ummm, hoestly, how do you know?
> 
> Is there a debugging statement that triggered and printed a message
> above which told you this?  No, nothing like that happened.
> 
> The truth is you have no idea whatsoever because early_res has been
> written in a way that errors are hard to diagnose.
> 
> It's definitely not a size issue, there are only 4 ranges that exist
> in this machine.
> 
> I don't know what the actual problem is and I don't have time to debug
> it right now, please try to figure it out and send me patches to try.
> 
> Actually that points out another regression of early_res, it lacks a
> "xxx=debug" command line option like LMB does, which would have
> allowed me to debug this very easily.
> 
> Also, there are other problems with your changes.
> 
> For example, the transformation you make in
> arch/sparc/mm/init_64.c:alloc_node_data() is absolutely not
> equivalent.
> 
> NUMA nodes can have memory in discontiguous regions, the LMB node
> based allocator gets it right, whereas your code could allocate memory
> on the wrong node.
> 
> Only the "nid_range()" callback passed to lmb_alloc_nid() is able to
> determine nodes properly.
> 
> This is yet another regression of your early_res code.
> 
> The more and more I look at the early_res code the more I see
> that:
> 
> 1) LMB could do everything early_res does
> 
> 2) early_res cannot do everything LMB can
> 
> Can you seriously start looking at using LMB instead of this new
> stuff which seems at every element to be a step backwards?

ok. let's if we can make x86 to use lmb.

Thanks

Yinghai

  reply	other threads:[~2010-03-10 23:07 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-10 21:24 [PATCH -v2 0/6] early_res: fw_memmap.c Yinghai Lu
2010-03-10 21:24 ` [PATCH 1/4] x86: add get_centaur_ram_top Yinghai Lu
2010-03-10 21:24 ` [PATCH 2/4] x86: make e820 to be static Yinghai Lu
2010-03-10 21:24 ` [PATCH 3/4] x86: use wake_system_ram_range instead of e820_any_mapped in agp path Yinghai Lu
2010-03-10 21:24 ` [PATCH 4/4] x86: make e820 to be initdata Yinghai Lu
2010-03-10 21:24 ` [PATCH 5/6] early_res: seperate common memmap func from e820.c to fw_memmap.c Yinghai Lu
2010-03-10 21:50   ` Russell King
2010-03-10 21:55     ` David Miller
2010-03-10 22:05     ` Yinghai Lu
2010-03-10 22:05       ` Yinghai Lu
2010-03-10 23:46   ` Paul Mackerras
2010-03-10 23:59     ` Yinghai Lu
2010-03-10 21:24 ` [RFC PATCH 6/6] sparc64: use early_res and nobootmem Yinghai Lu
2010-03-10 21:30   ` David Miller
2010-03-10 21:33     ` David Miller
2010-03-10 21:34       ` Yinghai Lu
2010-03-10 21:36         ` David Miller
2010-03-10 22:10           ` Yinghai Lu
2010-03-10 22:17             ` David Miller
2010-03-10 22:31               ` Yinghai Lu
2010-03-10 22:36                 ` David Miller
2010-03-10 23:01                   ` Yinghai Lu
2010-03-10 23:47                   ` Benjamin Herrenschmidt
2010-03-11  0:02                     ` Yinghai Lu
2010-03-11  3:59                       ` Paul Mundt
2010-03-10 22:04   ` David Miller
2010-03-10 22:20     ` Yinghai Lu
2010-03-10 22:49       ` David Miller
2010-03-10 23:05         ` Yinghai Lu [this message]
2010-03-10 23:44   ` Benjamin Herrenschmidt

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=4B9825CB.1000105@kernel.org \
    --to=yinghai@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=hpa@zytor.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    /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.