(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