l4lx_memory_map_virtual_page messages ending in internal error
Adam Lackorzynski
adam at os.inf.tu-dresden.de
Thu Jul 17 23:06:10 CEST 2014
On Wed Jul 16, 2014 at 00:51:01 +0300, Uwe Geuder wrote:
> On Fri Jul 11, 2014 at 19:52:29 +0300, Uwe Geuder wrote:
> > As mentioned in a previous thread I tried xz compression of my
> > initramfs image in L4Linux on ARM. When L4Linux tried to decompress the
> > following messages occured:
> >
> > > Trying to unpack rootfs image as initramfs...
> > > l4lx_memory_map_virtual_page: Already used, existing is 2400020
> > > l4lx_memory_map_virtual_page: cannot attach vpage (2ca64000, 2816324f): -99
> > > l4lx_memory_map_virtual_page: Already used, existing is 2400020
> >
> > and the same messages (with increasing address) repeated for a zillion
> > of times until it eventually ended like this:
>
> On Mon, 14 Jul 2014 23:46:11 +0200, Adam Lackorzynski wrote:
> > How much memory did you give L4Linux and how big is the initrd
> > (compressed and uncompressed)?
>
> The device has 1 GB of RAM. L4Linux is configured with mem=650M. The
> initramfs is about 260 MB uncompressed, around 70 MB xz compressed.
That's impressively large.
> Originally I tried with xz options not ideal for the puprpose, so
> uncompression of the image would have required 65 MB of memory. Still
> that's only 10% of the memory assgined to L4Linux, I am quite sure
> there is plenty of free memory around. Well, with 2 reservations.
>
> - The data about how much memory is needed for uncompression is
> reported by xz -l on the host, the kernel uses XZ embedded. Still I
> would find it suprising if the xz embedded implementation required
> more memory than the full size implementation.
>
> - And I don't know from which pool the kernel allocates memory
> when uncompressing initramfs. Could that be a pool with much lower
> limit than the full 650 MB?
I think there's no such limit.
> I still repeated the exercise twice. First with the xz options given
> in the kernel source. Unompression of that image is reported to take
> 33 MB of memory. Then I tried once more with even mored restrictive
> options, so that the image can be uncomressed with 17 MB of memory.
> The error messages were the same in all cases. I had the feeling that
> for the image requiring less memory for uncompression the
> l4lx_memory_map_virtual_page error was repeated less often than for
> the originak image. However, I did not count. (I could still do that,
> if it is valuable information.)
I suppose it works with a smaller xz-initrd?
If you play a bit with the vmalloc= parameter, does it change behavior
(including amount of those errors printed)? Maybe vmalloc=300m could be
a start.
Adam
--
Adam adam at os.inf.tu-dresden.de
Lackorzynski http://os.inf.tu-dresden.de/~adam/
More information about the l4-hackers
mailing list