2008-06-04 04:09:36

by Glauber Costa

[permalink] [raw]
Subject: [PATCH] Make x86 latest boot with non-discontig boxes

Commit 0596152388e234efebce464355186ad9e16c8cb6
broke my box, since it removes completely the call to
memory_present() at e820 setup.

It seems to be really not needed with discontig memory,
but with flat and sparse, I get an early crash. The proposed patch
moves the call memory_present() to setup_memory, the one
present in setup_32.c.

Signed-off-by: Glauber Costa <[email protected]>
CC: Yinghai Lu <[email protected]>
---
arch/x86/kernel/setup_32.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c
index 2901042..841eb2f 100644
--- a/arch/x86/kernel/setup_32.c
+++ b/arch/x86/kernel/setup_32.c
@@ -388,6 +388,8 @@ static unsigned long __init setup_memory(void)
#ifdef CONFIG_FLATMEM
max_mapnr = num_physpages;
#endif
+ memory_present(0, 0, max_pfn);
+
printk(KERN_NOTICE "%ldMB LOWMEM available.\n",
pages_to_mb(max_low_pfn));

--
1.5.4.5


2008-06-04 04:52:08

by Yinghai Lu

[permalink] [raw]
Subject: Re: [PATCH] Make x86 latest boot with non-discontig boxes

On Tue, Jun 3, 2008 at 9:08 PM, Glauber Costa <[email protected]> wrote:
> Commit 0596152388e234efebce464355186ad9e16c8cb6
> broke my box, since it removes completely the call to
> memory_present() at e820 setup.
>
> It seems to be really not needed with discontig memory,
> but with flat and sparse, I get an early crash. The proposed patch
> moves the call memory_present() to setup_memory, the one
> present in setup_32.c.
>
> Signed-off-by: Glauber Costa <[email protected]>
> CC: Yinghai Lu <[email protected]>
> ---
> arch/x86/kernel/setup_32.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c
> index 2901042..841eb2f 100644
> --- a/arch/x86/kernel/setup_32.c
> +++ b/arch/x86/kernel/setup_32.c
> @@ -388,6 +388,8 @@ static unsigned long __init setup_memory(void)
> #ifdef CONFIG_FLATMEM
> max_mapnr = num_physpages;
> #endif
> + memory_present(0, 0, max_pfn);
> +
> printk(KERN_NOTICE "%ldMB LOWMEM available.\n",
> pages_to_mb(max_low_pfn));
>
> --
thanks

http://lkml.org/lkml/2008/6/3/229
[PATCH] x86: change propagate_e820_map back to find_max_pfn -32bit - fix

already address that.

YH

2008-06-04 05:20:31

by Glauber Costa

[permalink] [raw]
Subject: Re: [PATCH] Make x86 latest boot with non-discontig boxes

On Wed, Jun 4, 2008 at 1:51 AM, Yinghai Lu <[email protected]> wrote:
> On Tue, Jun 3, 2008 at 9:08 PM, Glauber Costa <[email protected]> wrote:
>> Commit 0596152388e234efebce464355186ad9e16c8cb6
>> broke my box, since it removes completely the call to
>> memory_present() at e820 setup.
>>
>> It seems to be really not needed with discontig memory,
>> but with flat and sparse, I get an early crash. The proposed patch
>> moves the call memory_present() to setup_memory, the one
>> present in setup_32.c.
>>
>> Signed-off-by: Glauber Costa <[email protected]>
>> CC: Yinghai Lu <[email protected]>
>> ---
>> arch/x86/kernel/setup_32.c | 2 ++
>> 1 files changed, 2 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c
>> index 2901042..841eb2f 100644
>> --- a/arch/x86/kernel/setup_32.c
>> +++ b/arch/x86/kernel/setup_32.c
>> @@ -388,6 +388,8 @@ static unsigned long __init setup_memory(void)
>> #ifdef CONFIG_FLATMEM
>> max_mapnr = num_physpages;
>> #endif
>> + memory_present(0, 0, max_pfn);
>> +
>> printk(KERN_NOTICE "%ldMB LOWMEM available.\n",
>> pages_to_mb(max_low_pfn));
>>
>> --
> thanks
>
> http://lkml.org/lkml/2008/6/3/229
> [PATCH] x86: change propagate_e820_map back to find_max_pfn -32bit - fix
>
> already address that.
>
> YH

Great.

I guess it was not on the tree yet, then.

--
Glauber Costa.
"Free as in Freedom"
http://glommer.net

"The less confident you are, the more serious you have to act."

2008-06-04 06:26:53

by Yinghai Lu

[permalink] [raw]
Subject: Re: [PATCH] Make x86 latest boot with non-discontig boxes

On Tue, Jun 3, 2008 at 10:20 PM, Glauber Costa <[email protected]> wrote:
> On Wed, Jun 4, 2008 at 1:51 AM, Yinghai Lu <[email protected]> wrote:
>> On Tue, Jun 3, 2008 at 9:08 PM, Glauber Costa <[email protected]> wrote:
>>> Commit 0596152388e234efebce464355186ad9e16c8cb6
>>> broke my box, since it removes completely the call to
>>> memory_present() at e820 setup.
>>>
>>> It seems to be really not needed with discontig memory,
>>> but with flat and sparse, I get an early crash. The proposed patch
>>> moves the call memory_present() to setup_memory, the one
>>> present in setup_32.c.
>>>
>>> Signed-off-by: Glauber Costa <[email protected]>
>>> CC: Yinghai Lu <[email protected]>
>>> ---
>>> arch/x86/kernel/setup_32.c | 2 ++
>>> 1 files changed, 2 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c
>>> index 2901042..841eb2f 100644
>>> --- a/arch/x86/kernel/setup_32.c
>>> +++ b/arch/x86/kernel/setup_32.c
>>> @@ -388,6 +388,8 @@ static unsigned long __init setup_memory(void)
>>> #ifdef CONFIG_FLATMEM
>>> max_mapnr = num_physpages;
>>> #endif
>>> + memory_present(0, 0, max_pfn);
>>> +
>>> printk(KERN_NOTICE "%ldMB LOWMEM available.\n",
>>> pages_to_mb(max_low_pfn));
>>>
>>> --
>> thanks
>>
>> http://lkml.org/lkml/2008/6/3/229
>> [PATCH] x86: change propagate_e820_map back to find_max_pfn -32bit - fix
>>
>> already address that.
>>
>> YH
>
> Great.
>
> I guess it was not on the tree yet, then.
>
yes

today sent out several

[PATCH] x86: change propagate_e820_map back to find_max_pfn -32bit - fix
[PATCH] x86: early check if one system is numaq v2
[PATCH] x86: remove all active before register them again after trimming - 64bit
[PATCH] x86: numa32 make sure get kva space
[PATCH] x86: move e820_register_active to e820.c
[PATCH] x86: 32 bit use e820_register_active_regions

YH

2008-06-04 10:37:19

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] Make x86 latest boot with non-discontig boxes


* Glauber Costa <[email protected]> wrote:

> Commit 0596152388e234efebce464355186ad9e16c8cb6 broke my box, since it
> removes completely the call to memory_present() at e820 setup.
>
> It seems to be really not needed with discontig memory, but with flat
> and sparse, I get an early crash. The proposed patch moves the call
> memory_present() to setup_memory, the one present in setup_32.c.

thanks for tracking it down. Could you check whether the latest
x86/master tree works fine now?

Ingo

2008-06-04 13:22:05

by Glauber Costa

[permalink] [raw]
Subject: Re: [PATCH] Make x86 latest boot with non-discontig boxes

On Wed, Jun 4, 2008 at 7:36 AM, Ingo Molnar <[email protected]> wrote:
>
> * Glauber Costa <[email protected]> wrote:
>
>> Commit 0596152388e234efebce464355186ad9e16c8cb6 broke my box, since it
>> removes completely the call to memory_present() at e820 setup.
>>
>> It seems to be really not needed with discontig memory, but with flat
>> and sparse, I get an early crash. The proposed patch moves the call
>> memory_present() to setup_memory, the one present in setup_32.c.
>
> thanks for tracking it down. Could you check whether the latest
> x86/master tree works fine now?

boots beautifully.

--
Glauber Costa.
"Free as in Freedom"
http://glommer.net

"The less confident you are, the more serious you have to act."