Messages in this thread | | | Date | Tue, 13 Dec 2011 10:26:23 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH] x86, efi: Break up large initrd reads |
| |
On 12/12/2011 03:10 PM, H. Peter Anvin wrote: > On 11/25/2011 12:48 AM, Matt Fleming wrote: >> 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. >>> > > I'm going to NAK this, because I think the performance impact is too > severe. I would like to set the cap at 1 MiB for now, unless we can > identify platforms where *that* is known to fail. > > Maarten, would you be willing to rev your patch? Furthermore, please > make the maximum chunksize a define. >
One more thing, Maarten: could you please provide the full DMI information of the affected system?
-hpa
| |