From: Matt Fleming <matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
To: Yinghai Lu <yinghai-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: "Mantas Mikulėnas"
<grawity-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"Matt Fleming"
<matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
"Linux Kernel Mailing List"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Loading initrd above 4G causes freeze on boot
Date: Sat, 9 Aug 2014 20:23:02 +0100 [thread overview]
Message-ID: <20140809192302.GJ15082@console-pimps.org> (raw)
In-Reply-To: <CAE9FiQVXkojPnTr4EQE7h2YhWqa5VBYRSCadB0B1qDL+eGY8jg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Sat, 09 Aug, at 09:44:55AM, Yinghai Lu wrote:
> On Sat, Aug 9, 2014 at 7:23 AM, Mantas Mikulėnas <grawity@gmail.com> wrote:
> > As of commit 4bf7111f5016 ("x86/efi: Support initrd loaded above 4G"),
> > the kernel freezes at the earliest possible moment when trying to boot
> > via UEFI on my Asus laptop. (It still boots via BIOS.)
> >
> > If I revert that commit on current master (c309bfa9b481), it boots
> > correctly again [although I see "setup_efi_pci() failed" being printed].
> >
> > (Seems like it freezes when handle_cmdline_files() attempts to read
> > the last chunk of the initramfs -- the last call to efi_file_read()
> > never returns. Figuring out why that happens is beyond me, though.)
> >
>
> Matt found that efi_file_read()/firmware has problem that could not do
> several reading. Please check if reverting that commit have any
> difference.
>
> ---
> I spent some time playing around with this bug and it appears to be
> triggered by the read-a-chunk-at-a-time logic in handle_cmdline_files(),
> (which is itself a bug workaround) introduced here,
>
> commit 2d2da60fb40a
> Author: Maarten Lankhorst <m.b.lankhorst-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> Date: Fri Dec 16 13:30:58 2011 +0100
>
> x86, efi: Break up large initrd reads
Right, I committed a patch to workaround this problem here,
http://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=next&id=1c24a2bef39f041eb578189207240d0457ef0ac3
since on my ASUS machine the combination of breaking up initrd reads
into chunks and reading into a buffer above 4G actually triggers a whole
new bug.
Mantas, could you try out the patch referenced above and pass
"efi=nochunk" on the command line to the EFI boot stub. I'm hoping that
fixes your problem.
--
Matt Fleming, Intel Open Source Technology Center
WARNING: multiple messages have this Message-ID (diff)
From: Matt Fleming <matt@console-pimps.org>
To: Yinghai Lu <yinghai@kernel.org>
Cc: "Mantas Mikulėnas" <grawity@gmail.com>,
"Matt Fleming" <matt.fleming@intel.com>,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
linux-efi@vger.kernel.org
Subject: Re: Loading initrd above 4G causes freeze on boot
Date: Sat, 9 Aug 2014 20:23:02 +0100 [thread overview]
Message-ID: <20140809192302.GJ15082@console-pimps.org> (raw)
In-Reply-To: <CAE9FiQVXkojPnTr4EQE7h2YhWqa5VBYRSCadB0B1qDL+eGY8jg@mail.gmail.com>
On Sat, 09 Aug, at 09:44:55AM, Yinghai Lu wrote:
> On Sat, Aug 9, 2014 at 7:23 AM, Mantas Mikulėnas <grawity@gmail.com> wrote:
> > As of commit 4bf7111f5016 ("x86/efi: Support initrd loaded above 4G"),
> > the kernel freezes at the earliest possible moment when trying to boot
> > via UEFI on my Asus laptop. (It still boots via BIOS.)
> >
> > If I revert that commit on current master (c309bfa9b481), it boots
> > correctly again [although I see "setup_efi_pci() failed" being printed].
> >
> > (Seems like it freezes when handle_cmdline_files() attempts to read
> > the last chunk of the initramfs -- the last call to efi_file_read()
> > never returns. Figuring out why that happens is beyond me, though.)
> >
>
> Matt found that efi_file_read()/firmware has problem that could not do
> several reading. Please check if reverting that commit have any
> difference.
>
> ---
> I spent some time playing around with this bug and it appears to be
> triggered by the read-a-chunk-at-a-time logic in handle_cmdline_files(),
> (which is itself a bug workaround) introduced here,
>
> commit 2d2da60fb40a
> Author: Maarten Lankhorst <m.b.lankhorst@gmail.com>
> Date: Fri Dec 16 13:30:58 2011 +0100
>
> x86, efi: Break up large initrd reads
Right, I committed a patch to workaround this problem here,
http://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=next&id=1c24a2bef39f041eb578189207240d0457ef0ac3
since on my ASUS machine the combination of breaking up initrd reads
into chunks and reading into a buffer above 4G actually triggers a whole
new bug.
Mantas, could you try out the patch referenced above and pass
"efi=nochunk" on the command line to the EFI boot stub. I'm hoping that
fixes your problem.
--
Matt Fleming, Intel Open Source Technology Center
next prev parent reply other threads:[~2014-08-09 19:23 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-09 14:23 Loading initrd above 4G causes freeze on boot Mantas Mikulėnas
2014-08-09 14:23 ` Mantas Mikulėnas
[not found] ` <53E62EEF.9040801-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-09 16:44 ` Yinghai Lu
2014-08-09 16:44 ` Yinghai Lu
[not found] ` <CAE9FiQVXkojPnTr4EQE7h2YhWqa5VBYRSCadB0B1qDL+eGY8jg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-09 19:23 ` Matt Fleming [this message]
2014-08-09 19:23 ` Matt Fleming
[not found] ` <20140809192302.GJ15082-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-08-09 22:45 ` Mantas Mikulėnas
2014-08-09 22:45 ` Mantas Mikulėnas
[not found] ` <CAPWNY8X+pRf4GuYAzKj-co0fkLMY0KNw+wB4KA8eaJ0QbE4MnA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-10 5:55 ` Yinghai Lu
2014-08-10 5:55 ` Yinghai Lu
[not found] ` <CAE9FiQVDURMvgVd55-onMDejCZT+OZ2vrr92wx8FJMKRNSX_GA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-10 18:43 ` Mantas Mikulėnas
2014-08-10 18:43 ` Mantas Mikulėnas
2014-08-13 14:02 ` Matt Fleming
2014-08-13 16:38 ` Mantas Mikulėnas
2014-08-13 18:44 ` Matt Fleming
[not found] ` <20140813184449.GV15082-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-08-20 17:05 ` Matt Fleming
2014-08-20 17:05 ` Matt Fleming
[not found] ` <20140820170520.GF29733-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-08-20 19:05 ` Mantas Mikulėnas
2014-08-20 19:05 ` Mantas Mikulėnas
[not found] ` <CAPWNY8V_gFutOcow5rBUSz2updGzf4hkQ98qBZ9WRGkb_sA2jA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-20 19:53 ` Michael Brown
2014-08-20 19:53 ` Michael Brown
[not found] ` <53F4FCC9.1030405-OViyBiuKJBuK421+ScFKDQ@public.gmane.org>
2014-08-20 20:30 ` Matt Fleming
2014-08-20 20:30 ` Matt Fleming
[not found] ` <20140820203011.GH29733-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-08-21 20:23 ` [edk2] " Laszlo Ersek
2014-08-21 20:23 ` Laszlo Ersek
2014-08-22 14:24 ` Harald Hoyer
2014-08-22 14:24 ` Harald Hoyer
[not found] ` <53F752A2.7080604-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-08-22 14:43 ` Mantas Mikulėnas
2014-08-22 14:43 ` Mantas Mikulėnas
2014-08-24 19:19 ` Mantas Mikulėnas
[not found] ` <CAPWNY8V=T=Y5uPX9J_qjdkTJRnctDs-PoTQP7LEX_cKQEn0_Zg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-25 10:55 ` Matt Fleming
2014-08-25 10:55 ` Matt Fleming
2014-08-25 11:08 ` Mantas Mikulėnas
2014-08-25 12:53 ` Matt Fleming
[not found] ` <20140825125306.GS29733-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-08-25 18:22 ` Yinghai Lu
2014-08-25 18:22 ` Yinghai Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140809192302.GJ15082@console-pimps.org \
--to=matt-hnk1s37rvnbexh+ff434mdi2o/jbrioy@public.gmane.org \
--cc=grawity-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=yinghai-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.