xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Denis Obrezkov <denisobrezkov@gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Hunyue Yau <hy-gsoc@hy-research.com>,
	Iain Hunter <drhunter95@gmail.com>
Subject: Re: [Xen-devel] How to boot domU and dom0 from a device tree
Date: Wed, 12 Jun 2019 12:26:03 +0100	[thread overview]
Message-ID: <dca4af7b-6591-cb01-8e75-32438097f65a@arm.com> (raw)
In-Reply-To: <alpine.DEB.2.21.1906111515000.13737@sstabellini-ThinkPad-T480s>

(Moving from xen-users to xen-devel).

On 11/06/2019 23:18, Stefano Stabellini wrote:
> I managed to reproduced the issue, and I know how to get past it.  Try
> using the raw kernel Image (arch/arm64/boot/Image) instead of Image.gz
> for dom0 and domU. That fixed it for me.
> 
> Julien, I didn't manage to figure out what the issue is exactly, but it
> looks like Image.gz loading is broken at the moment.

Do you mean Image.gz is broken from DomU? Because per the log provided by Denis, 
this is working perfectly for Dom0 as we don't create domain in parallel.

By reading the code I can already spot the reason of the first issue reported by 
Denis. For reminder, this is when Dom0 and DomU are using the same module 
address for the gzip Image.

This is because when probing the kernel for Dom0, the module will get 
uncompressed and the module start/end will be updated to point to the uncompress 
version. Because of that, the probe for DomU kernel will not be able to find the 
module (the start addressed changed).

In this case, I think we only want to uncompress the module one time to avoid 
wasting memory. The solution I have in mind requires some rework in Xen, I would 
actually start by probing the information for all the domains, then uncompress 
the kernels modules, and then finish to build the domain.

For the out of memory problem discussed in this e-mail, I think the problem is 
not because of lack of memory in DomU. The problem is related to the 
inflate/gunzip the code. The code is using an heap (see perform_gunzip) where it 
allocates memory from.

I am assuming the kernels for Dom0 and DomU are exactly the same but they are 
coming from different address. Am I correct? If so, I am a bit unsure this 
worked the first time and not the second time. This probably want some debugging 
to understand the problem. Denis, Stefano, can one of you look at it?

Cheers,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

       reply	other threads:[~2019-06-12 11:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <59199da7-40ad-6513-2000-7e10fdbb564b@gmail.com>
     [not found] ` <28b298ba-9acb-5d3b-b4ba-4ef72f4db4be@gmail.com>
     [not found]   ` <65e7d353-b587-516e-d167-aa59a1e94f73@gmail.com>
     [not found]     ` <alpine.DEB.2.21.1906101329140.8691@sstabellini-ThinkPad-T480s>
     [not found]       ` <ba65a0e3-d7c4-f007-1a34-be28561804e5@gmail.com>
     [not found]         ` <22ab207e-ae22-2002-35e0-f28177e29c30@arm.com>
     [not found]           ` <f3034c36-cb04-b698-5a0e-1d4af3ac8f84@gmail.com>
     [not found]             ` <alpine.DEB.2.21.1906110907220.13737@sstabellini-ThinkPad-T480s>
     [not found]               ` <4db25be4-195e-6187-e9b8-c1a212429659@gmail.com>
     [not found]                 ` <987d8bb6-31a1-6d5e-2514-7498423c8c53@gmail.com>
     [not found]                   ` <alpine.DEB.2.21.1906111515000.13737@sstabellini-ThinkPad-T480s>
2019-06-12 11:26                     ` Julien Grall [this message]
2019-06-14 20:53                       ` [Xen-devel] How to boot domU and dom0 from a device tree Stefano Stabellini
2019-06-15 17:54                         ` Julien Grall
2019-06-17 18:12                           ` Stefano Stabellini
2019-06-17 18:57                             ` Julien Grall

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=dca4af7b-6591-cb01-8e75-32438097f65a@arm.com \
    --to=julien.grall@arm.com \
    --cc=denisobrezkov@gmail.com \
    --cc=drhunter95@gmail.com \
    --cc=hy-gsoc@hy-research.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.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).