Re: [PATCH] x86, efi: Break up large initrd reads

From: Matt Fleming
Date: Fri Nov 25 2011 - 03:49:02 EST


On Fri, 2011-11-25 at 02:37 +0100, Maarten Lankhorst wrote:
> The efi boot stub tries to read the entire initrd in 1 go,
> however some efi implementations hang if too much if asked
> to read too much data at the same time. After some
> experimentation I found out that my asrock p67 board will
> hang if asked to read chunks of 4mb, so use a safe value.
>
> From elilo source code:
> /*
> * We load by chunks rather than a single big read because
> * early versions of EFI had troubles loading files
> * from floppies in a single big request. Breaking
> * the read down into chunks of 4KB fixed that
> * problem. While this problem has been fixed, we still prefer
> * this method because it tells us whether or not we're making
> * forward progress.
> */
>
> While the comment says 4KB, it's using 4 * EFI_PAGE_SIZE (16KB),
> so I went by the safest route of following elilo here.
>
> Signed-off-by: Maarten Lankhorst <m.b.lankhorst@xxxxxxxxx>
> ---
> arch/x86/boot/compressed/eboot.c | 20 ++++++++++++++------
> 1 files changed, 14 insertions(+), 6 deletions(-)

Thanks Maarten, applied!

--
Matt Fleming, Intel Open Source Technology Center

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/