x86: remove wrong -1 in calling init_memory_mapping
PATCH 1/1 x86: remove wrong -1 in calling init_memory_mapping
From: Shaohua Li <[email protected]>
impact: make memory hot plug got last page mapped.
Shuahua Li found:
Round up address to a page, otherwise the last page isn't mapped.
No, I just did some experiments on a desktop for memory hotplug and this bug
triggered a crash in my test.
Yinghai's suggestion also fixed the bug. I just want to have safer method. Anyway, either approach is ok to me.
So acctually we don't need to round it.
just remove that extra -1
arch/x86/mm/init_64.c +1 -1
@@ -837,7 +837,7 @@ int arch_add_memory(int nid, u64 start, u64 size)unsigned long nr_pages = size >>PAGE_SHIFT ;int ret; - last_mapped_pfn =init_memory_mapping (start, start + size-1 ); + last_mapped_pfn =init_memory_mapping (start, start + size);if (last_mapped_pfn > max_pfn_mapped) max_pfn_mapped = last_mapped_pfn;
Ingo Molnar
AppliedQuoted 7 lines · Yinghai Lu
From: Shaohua Li <[email protected]>
impact: make memory hot plug got last page mapped.
Shuahua Li found:
Round up address to a page, otherwise the last page isn't mapped.
Quoted 8 lines
No, I just did some experiments on a desktop for memory hotplug and this bug
triggered a crash in my test.
Yinghai's suggestion also fixed the bug. I just want to have safer method. Anyway, either approach is ok to me.So acctually we don't need to round it.
just remove that extra -1Signed-off-by Yinghai <[email protected]>
applied to tip/x86/urgent, thanks guys!
Note, i changed the "Impact:" line. We try to use it to provide a single-line description of what practical impact a patch has. For example if it's a bugfix, we try to describe what type of bug effect it fixes. If it's a cleanup, we mark it as a cleanup. If it introduces a new feature or changes existing behavior to improve the code, we describe that.
There's no hard rules, so here are a few common examples:
Impact: fix crash with memory hotplug
Impact: cleanup
Impact: fix bootup crash on certain types of hardware
Impact: improve printk output
Impact: add (default-off) debug feature
Impact: make the implementation faster
Impact: cleanup (no object code changed)
Impact: change the implementation to be more robust
Impact: fix bootup hang on certain systems
Impact: add new system call
Impact: enable hardware feature and make use of it
Impact: fix rare crash under high DB load
etc. etc.
"Wrong" impact lines are the ones which just describe the change itself, not the general impact:
Impact: add +1 to condition
Impact: change foo() to call bar() as well
Impact: flush the TLB when tearing down a mapping
Impact: check for NULL
these are less useful because they just duplicate the information already available in the patch itself.
Ingo
----------------->
Quoted 1 line
From
60817c9b31ef7897d60bca2f384cbc316a3fdd8bMon Sep 17 00:00:00 2001
From: Shaohua Li <[email protected]>
Date: Mon, 27 Oct 2008 13:03:18 -0700
Subject: [PATCH] x86, memory hotplug: remove wrong -1 in calling init_memory_mapping()
Impact: fix crash with memory hotplug
Shuahua Li found:
| I just did some experiments on a desktop for memory hotplug and this bug | triggered a crash in my test. | | Yinghai's suggestion also fixed the bug.
We don't need to round it, just remove that extra -1
--- arch/x86/mm/init_64.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
arch/x86/mm/init_64.c +1 -1
@@ -837,7 +837,7 @@ int arch_add_memory(int nid, u64 start, u64 size)unsigned long nr_pages = size >>PAGE_SHIFT ;int ret; - last_mapped_pfn =init_memory_mapping (start, start + size-1 ); + last_mapped_pfn =init_memory_mapping (start, start + size);if (last_mapped_pfn > max_pfn_mapped) max_pfn_mapped = last_mapped_pfn;