On Sat, Aug 5, 2023 at 12:26 AM Markus Armbruster <arm...@redhat.com> wrote:
>
> Jim Cromie <jim.cro...@gmail.com> writes:
>
> > Change 2 error messages to display sizes in MB, not bytes.
> >
> > qemu: initrd is too large, cannot support this. (max: 2047 MB, need 5833 MB)
> >
> > Also, distinguish 2 sites by adding "it" and "this" respectively.
> > This tells a careful reader that the error above is from the 2nd size
> > check.
>
> I don't like this part.
>
> > With MB displayed, I have to ask: is it coincidence that max == 2048-1 ?
>
> I don't know.
>

I found this in hw/i386/x86.c

    924         /*
    925          * Linux has supported initrd up to 4 GB for a very
long time (2007,
    926          * long before XLF_CAN_BE_LOADED_ABOVE_4G which was
added in 2013),
    927          * though it only sets initrd_max to 2 GB to "work
around bootloader
    928          * bugs". Luckily, QEMU firmware(which does something
like bootloader)
    929          * has supported this.
    930          *
    931          * It's believed that if XLF_CAN_BE_LOADED_ABOVE_4G is
set, initrd can
    932          * be loaded into any address.
    933          *
    934          * In addition, initrd_max is uint32_t simply because
QEMU doesn't
    935          * support the 64-bit boot protocol (specifically the
ext_ramdisk_image
    936          * field).
    937          *
    938          * Therefore here just limit initrd_max to UINT32_MAX
simply as well.
    939          */



> You're rounding both values down.  Consider
>
>     initrd_max = 1000.5MiB - 1 exactly
>     initrd_size = 1000.5MiB + 4096
>
> Before the patch, we report
>
>     (max: 1049100287, need 1049104384)
>
> Unfriendly, but at least it's correct.  Afterwards
>
>     (max: 1000 MB, need 1000 MB)
>
> Wat?  Long-suffering users may guess the rounding issue.  But let's not
> make users guess.
>
> Better would be something like
>
>     size of initrd exceeds the limit of X MiB by Y Bytes
>
> *if* X is actually a multiple of 1 MiB.  Else, we need to consider
> showing a suitably rounded fractional part, or stick to Bytes after all.
>

ok, that makes sense.

But 1st I gotta figure out why a 2gb initrd size limit
is not a show-stopper problem for lkp-robot.

https://lore.kernel.org/oe-lkp/202308031432.fcb4197-oliver.s...@intel.com/
has reproducer, that I cannot execute.
I have deleted ~/.lkp and /lkp has 2 empty subdirs

Reply via email to