From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: konrad@darnok.org, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [PATCH] Boot PV guests with more than 128GB (v2) for 3.7
Date: Wed, 28 Aug 2013 10:44:19 -0400 [thread overview]
Message-ID: <20130828144419.GA16368@phenom.dumpdata.com> (raw)
In-Reply-To: <521DC91B02000078000EEFD9@nat28.tlf.novell.com>
On Wed, Aug 28, 2013 at 08:55:39AM +0100, Jan Beulich wrote:
> >>> On 27.08.13 at 22:34, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> > On Mon, Aug 13, 2012 at 08:54:47AM +0100, Jan Beulich wrote:
> >> >>> On 03.08.12 at 16:46, Konrad Rzeszutek Wilk <konrad@darnok.org> wrote:
> >> > Didn't get to it yet. Sorry for top posting. If you have a patch ready I
> >> > can test it on Monday - travelling now.
> >>
> >> So here's what I was thinking of (compile tested only).
> >
> > Wow. It took me a whole year to get back to this.
> >
> > Anyhow I did test it and it worked rather nicely for 64-bit guests. I didn't
> > even try to boot 32-bit guests as the pvops changes I did were only for 64-bit
> > guests. But if you have a specific kernel for a 32-bit guest I still have
> > the 1TB machine for a week and can boot it up there.
>
> Considering that you had also attached a debug patch - did it
> work without that, i.e. just with the patch that I had handed
> you? If so, I'd then finally be in the position to submit this,
> putting your Tested-by (and perhaps Reported-by) underneath.
Yes it did with the 'memory=440000' guest config. I developed the
debug patch just to make sure I could see the failing case (fix=0) and
working case (fix=1) without having to reboot this monster machine.
Interestingly enough if I boot with a 486GB guest I end up with:
[root@ca-test111 konrad]# xl dmesg | tail -300
(XEN) d8:v0: unhandled page fault (ec=0000)
(XEN) Pagetable walk from ffff880043e75070:
(XEN) L4[0x110] = 00000080ba854067 0000000000001a0d
(XEN) L3[0x001] = 0000000000000000 ffffffffffffffff
(XEN) domain_crash_sync called from entry.S
(XEN) Domain 8 (vcpu#0) crashed on cpu#16:
(XEN) ----[ Xen-4.4-unstable x86_64 debug=y Not tainted ]----
(XEN) CPU: 16
(XEN) RIP: e033:[<ffffffff81acd29e>]
(XEN) RFLAGS: 0000000000000246 EM: 1 CONTEXT: pv guest
(XEN) rax: 0000000000000000 rbx: 0000000000000000 rcx: ffffffff8219e000
(XEN) rdx: 0000000000000000 rsi: ffff880043e75000 rdi: 00000000deadbeef
(XEN) rbp: ffffffff81a01ff8 rsp: ffffffff81a01f00 r8: 0000000043e7a000
(XEN) r9: 0000000043e7b000 r10: 0000000000223000 r11: 000000a0a66b6067
(XEN) r12: 0000000000000000 r13: 0000000000000000 r14: 0000000000000000
(XEN) r15: 0000000000000000 cr0: 000000008005003b cr4: 00000000000026f0
(XEN) cr3: 000000400fcb6000 cr2: ffff880043e75070
(XEN) ds: 0000 es: 0000 fs: 0000 gs: 0000 ss: e02b cs: e033
(XEN) Guest stack trace from rsp=ffffffff81a01f00:
(XEN) ffffffff8219e000 000000a0a66b6067 0000000000000000 ffffffff81acd29e
(XEN) 000000010000e030 0000000000010046 ffffffff81a01f48 000000000000e02b
(XEN) ffffffff81acd267 0000000000000000 0000000000000000 0000000000000000
(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN) 0000000000000000 0000000000000000 0000000000000000 809822011f898975
(XEN) 000206e501200800 0000000000000001 0000000000000000 0000000000000000
(XEN) 0f00000060c0c748 ccccccccccccc305 cccccccccccccccc cccccccccccccccc
(XEN) cccccccccccccccc cccccccccccccccc cccccccccccccccc cccccccccccccccc
(XEN) cccccccccccccccc cccccccccccccccc cccccccccccccccc cccccccccccccccc
(XEN) cccccccccccccccc cccccccccccccccc cccccccccccccccc cccccccccccccccc
(XEN) cccccccccccccccc cccccccccccccccc cccccccccccccccc cccccccccccccccc
(XEN) cccccccccccccccc cccccccccccccccc cccccccccccccccc cccccccccccccccc
(XEN) cccccccccccccccc cccccccccccccccc cccccccccccccccc cccccccccccccccc
(XEN) cccccccccccccccc cccccccccccccccc cccccccccccccccc cccccccccccccccc
(XEN) cccccccccccccccc cccccccccccccccc cccccccccccccccc cccccccccccccccc
(XEN) cccccccccccccccc cccccccccccccccc cccccccccccccccc cccccccccccccccc
(XEN) cccccccccccccccc cccccccccccccccc cccccccccccccccc cccccccccccccccc
(XEN) cccccccccccccccc cccccccccccccccc cccccccccccccccc cccccccccccccccc
(this is with the debug patch and the guest having 'fix=1' enabled, meaning
it uses the new code path).
Thought looking at the stack more, I see:
ffffffff81acd29e is:
0xffffffff81acd280 <xen_start_kernel+935>: mov $0xffffffff81931558,%rdi
0xffffffff81acd287 <xen_start_kernel+942>: xor %eax,%eax
0xffffffff81acd289 <xen_start_kernel+944>: callq 0xffffffff813f5340 <xen_raw_printk>
0xffffffff81acd28e <xen_start_kernel+949>: mov 0x1a6f53(%rip),%rsi # 0xffffffff81c741e8 <xen_start_info>
0xffffffff81acd295 <xen_start_kernel+956>: movb $0x90,0x1aa454(%rip) # 0xffffffff81c776f0 <boot_params+528>
0xffffffff81acd29c <xen_start_kernel+963>: xor %edx,%edx
0xffffffff81acd29e <xen_start_kernel+965>: mov 0x70(%rsi),%rax
which implies that we copied from the
xen_start_info something (pt_base? mod_start?) which has the __va
address instead of the __kva one. So the bootup pagetables creation
I think we are OK with and indeed you can put 'Tested-by' tag on it.
I will dig in this a bit more.
>
> And no, I'm not really concerned about the 32-bit case. The
> analogy with the 64-bit code is sufficient to tell that the change
> (even if just cosmetic) should also be done to the 32-bit variant.
Right.
>
> Jan
>
next prev parent reply other threads:[~2013-08-28 14:44 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-31 14:43 [PATCH] Boot PV guests with more than 128GB (v2) for 3.7 Konrad Rzeszutek Wilk
2012-07-31 14:43 ` [PATCH 1/6] xen/mmu: use copy_page instead of memcpy Konrad Rzeszutek Wilk
2012-07-31 14:43 ` [PATCH 2/6] xen/mmu: For 64-bit do not call xen_map_identity_early Konrad Rzeszutek Wilk
2012-07-31 14:43 ` [PATCH 3/6] xen/mmu: Recycle the Xen provided L4, L3, and L2 pages Konrad Rzeszutek Wilk
2012-07-31 14:43 ` [PATCH 4/6] xen/p2m: Add logic to revector a P2M tree to use __va leafs Konrad Rzeszutek Wilk
2012-07-31 14:43 ` [PATCH 5/6] xen/mmu: Copy and revector the P2M tree Konrad Rzeszutek Wilk
2012-07-31 14:43 ` [PATCH 6/6] xen/mmu: Remove from __ka space PMD entries for pagetables Konrad Rzeszutek Wilk
2012-08-01 15:50 ` [PATCH] Boot PV guests with more than 128GB (v2) for 3.7 Konrad Rzeszutek Wilk
2012-08-02 9:05 ` Jan Beulich
2012-08-02 14:17 ` Konrad Rzeszutek Wilk
2012-08-02 23:04 ` Mukesh Rathor
2012-08-03 13:30 ` Konrad Rzeszutek Wilk
2012-08-03 13:54 ` Jan Beulich
[not found] ` <CAPbh3rsXaqQS9WQQmJ2uQ46LZdyFzkbSodUabGDAyFS+qTEwUg@mail.gmail.com>
2012-08-13 7:54 ` Jan Beulich
2012-09-03 6:33 ` Ping: " Jan Beulich
2012-09-06 21:03 ` Konrad Rzeszutek Wilk
2012-09-07 9:01 ` Jan Beulich
2012-09-07 13:39 ` Konrad Rzeszutek Wilk
2012-09-07 14:09 ` Jan Beulich
2012-09-07 14:11 ` Konrad Rzeszutek Wilk
2013-08-27 20:34 ` Konrad Rzeszutek Wilk
2013-08-28 7:55 ` Jan Beulich
2013-08-28 14:44 ` Konrad Rzeszutek Wilk [this message]
2013-08-28 14:58 ` [PATCH] libxc/x86: fix page table creation for huge guests Jan Beulich
2013-09-09 8:37 ` Ping: " Jan Beulich
2013-09-12 15:38 ` Ian Jackson
2012-08-03 18:37 ` [PATCH] Boot PV guests with more than 128GB (v2) for 3.7 Mukesh Rathor
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=20130828144419.GA16368@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=JBeulich@suse.com \
--cc=konrad@darnok.org \
--cc=xen-devel@lists.xen.org \
/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).