diff mbox

[Natty] xen: p2m: correctly initialize partial p2m leave

Message ID 4D394FDA.3010200@canonical.com
State Accepted
Delegated to: Andy Whitcroft
Headers show

Commit Message

Stefan Bader Jan. 21, 2011, 9:20 a.m. UTC
On 01/21/2011 09:41 AM, Stefan Bader wrote:
> On 01/20/2011 07:07 PM, Stefan Bader wrote:
>> Confirmed on Natty's head of the day that without this patch Natty is still a
>> bad place to be for t1.micro instances as they crash quicker than printk can say
>> hello to the console.
>>
>> Same patch sent upstream today and the one-line reply to it was not rude, so I
>> would expect it to make its way. But Andy, you might want to take it in advance,
>> so we can boot on t1.micro with the next upload. Even if upstream has not got to
>> accept it.
>>
>> -Stefan
>>
>>
> Seems I made a slight foolish mistake in declaring p2m to be a long **, while it
> is a long *. Practically it works either way but it introduces rightful compiler
> warnings. Not sure this can be amended while in linux-next or needs a second
> tiny patch which I am about to do.
> 
> -Stefan
> 
So that would be the fix of the fix.

-Stefan
diff mbox

Patch

From fc26a9b0a6b87ee7d5d7cef77664c0d58bfc9761 Mon Sep 17 00:00:00 2001
From: Stefan Bader <stefan.bader@canonical.com>
Date: Fri, 21 Jan 2011 09:46:07 +0100
Subject: [PATCH 2/2] xen: p2m: Use the correct type for p2m page

In "xen: p2m: correctly initialize partial p2m leave" I introduced new
compiler warnings by using unsigned long ** instead of unsigned long *
for the 3rd level tree structure. Due to the nature of pointers and long
this works practically but it should be done right.

BugLink: http://bugs.launchpad.net/bugs/686692

Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
---
 arch/x86/xen/p2m.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index c9307ec..ddc81a0 100644
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -247,7 +247,7 @@  void __init xen_build_dynamic_phys_to_machine(void)
 		 */
 		if (unlikely(pfn + P2M_PER_PAGE > max_pfn)) {
 			unsigned long p2midx;
-			unsigned long **p2m = extend_brk(PAGE_SIZE, PAGE_SIZE);
+			unsigned long *p2m = extend_brk(PAGE_SIZE, PAGE_SIZE);
 			p2m_init(p2m);
 
 			for (p2midx = 0; pfn + p2midx < max_pfn; p2midx++) {
-- 
1.7.0.4