From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: M A Young <m.a.young@durham.ac.uk>
Cc: xen-devel@lists.xensource.com
Subject: Re: Crash on boot with 2.6.37-rc8-git3
Date: Mon, 24 Jan 2011 09:14:53 -0500 [thread overview]
Message-ID: <20110124141453.GA6511@dumpdata.com> (raw)
In-Reply-To: <alpine.LFD.2.02.1101212024460.7991@vega1.dur.ac.uk>
On Fri, Jan 21, 2011 at 09:43:34PM +0000, M A Young wrote:
> On Fri, 21 Jan 2011, Konrad Rzeszutek Wilk wrote:
>
> >We should find out why that PTE is not being setup.... And I think
> >this might be a missing entry in the MFN (thanks to Stefan Bader
> >finding a bug there). Looking at your E820:
> >
> >[ 0.000000] Xen: 0000000000100000 - 000000003b0e2000 (usable)
>
> Mine is
> [ 0.000000] Xen: 0000000000100000 - 00000000df66d800 (usable)
>
> >Your memory ends a 3b0e, which is not on a nice page boundary.
>
> Mine isn't on a page boundary at all!
Whoa.
>
> >Can you try this patch (you will need to re-gigger as in 2.6.38-rc1
> >the p2m code moved out of xen/mmu.c to xen/p2m.c):
>
> It doesn't help, and crashes at the same place as the unaltered
> kernel. My problem may not be happening in the xen code at all. From
> the boot logs of one of my hack attempts that actually booted I have
>
> [ 0.000000] BIOS-provided physical RAM map:
> [ 0.000000] Xen: 0000000000000000 - 000000000009f000 (usable)
> [ 0.000000] Xen: 000000000009f000 - 0000000000100000 (reserved)
> [ 0.000000] Xen: 0000000000100000 - 00000000df66d800 (usable)
> [ 0.000000] Xen: 00000000df66d800 - 00000000e0000000 (reserved)
> [ 0.000000] Xen: 00000000f8000000 - 00000000fc000000 (reserved)
> [ 0.000000] Xen: 00000000fec00000 - 00000000fec10000 (reserved)
> [ 0.000000] Xen: 00000000fed18000 - 00000000fed1c000 (reserved)
> [ 0.000000] Xen: 00000000fed20000 - 00000000fed90000 (reserved)
> [ 0.000000] Xen: 00000000feda0000 - 00000000feda6000 (reserved)
> [ 0.000000] Xen: 00000000fee00000 - 00000000fee10000 (reserved)
> [ 0.000000] Xen: 00000000ffe00000 - 0000000100000000 (reserved)
> [ 0.000000] Xen: 0000000100000000 - 00000001342cb000 (usable)
> [ 0.000000] NX (Execute Disable) protection: active
> [ 0.000000] DMI 2.4 present.
> [ 0.000000] No AGP bridge found
> [ 0.000000] last_pfn = 0x1342cb max_arch_pfn = 0x400000000
> [ 0.000000] last_pfn = 0xdf66d max_arch_pfn = 0x400000000
> [ 0.000000] init_memory_mapping: 0000000000000000-00000000df66d000
> [ 0.000000] init_memory_mapping: 0000000100000000-00000001342cb000
>
> The last_pfn figure above is actually one more than the last pfn
> that is initialized and is obtained by right-shifting the start
> memory address plus the length of the memory piece. That is fine if
> the memory ends on a page boundary, but not if it doesn't because
> the partial page doesn't get a pfn. Thus it is available for early
We can fix how the E820 is done.
Look in arch/x86/xen/setup.c for 'xen_memory_setup' function.
Try to wrap make map[i].size be = map[i].szie & ~(PAGE_SIZE-1)
that should trim off the last 2048 bytes.
> allocations such as the NODE DATA chunk. Xen goes for the memory
> chunk just below the 4GB mark and hits this region, bare metal
> (2.6.35) starts the NODE DATA at the 4GB mark and doesn't.
That should be generic and hit both cases - but I think this got
fixed in 2.6.36-ish were going for the region right underneath
4GB is not done (don't remember the details, sadly).
>
> I am not sure if bare metal is clever enough not to try to use this
> partial page, or whether it could but misses it because of how it
> places the NODE_DATA (at the bottom end of a memory region rather
> than the top end).
If you leave the instrumentation you placed in and add 'memblock=debug'
that should give you a good idea of how it does it?
>
> Michael Young
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
next prev parent reply other threads:[~2011-01-24 14:14 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-07 20:34 Crash on boot with 2.6.37-rc8-git3 M A Young
2011-01-07 21:23 ` Konrad Rzeszutek Wilk
2011-01-08 0:10 ` M A Young
2011-01-10 18:42 ` Konrad Rzeszutek Wilk
2011-01-10 21:43 ` M A Young
2011-01-16 20:48 ` M A Young
2011-01-16 20:56 ` Keir Fraser
2011-01-18 0:52 ` M A Young
2011-01-19 22:54 ` M A Young
2011-01-20 19:24 ` Konrad Rzeszutek Wilk
2011-01-20 22:39 ` M A Young
2011-01-21 15:27 ` Konrad Rzeszutek Wilk
2011-01-21 21:43 ` M A Young
2011-01-24 14:14 ` Konrad Rzeszutek Wilk [this message]
2011-01-24 23:12 ` M A Young
2011-01-25 12:03 ` Stefano Stabellini
2011-01-25 13:24 ` Ian Campbell
2011-01-25 13:31 ` Stefano Stabellini
2011-01-25 13:45 ` Ian Campbell
2011-01-25 15:19 ` Stefano Stabellini
2011-01-25 15:52 ` Konrad Rzeszutek Wilk
2011-01-25 15:56 ` Stefano Stabellini
2011-01-25 16:05 ` M A Young
2011-01-24 19:04 ` Stefano Stabellini
2011-01-25 0:22 ` M A Young
-- strict thread matches above, loose matches on Subject: below --
2011-01-04 22:01 M A Young
2011-01-05 15:43 ` Konrad Rzeszutek Wilk
2011-01-05 23:11 ` M A Young
2011-01-06 14:56 ` Konrad Rzeszutek Wilk
2011-01-07 0:37 ` M A Young
2011-01-07 19:18 ` Konrad Rzeszutek Wilk
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=20110124141453.GA6511@dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=m.a.young@durham.ac.uk \
--cc=xen-devel@lists.xensource.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).