2021-12-09 05:45:24

by Hugh Dickins

[permalink] [raw]
Subject: 5.16-rc: "x86/boot: Pull up cmdline" breaks mem=

Bad news, I'm afraid: I boot with "mem=1G" on the cmdline for testing,
which worked fine on 5.16-rc1, but does not work on 5.16-rc2 onwards.

Bisection arrived at 8d48bf8206f7 ("x86/boot: Pull up cmdline preparation
and early param parsing"); and reverting c0f2077baa41 ("x86/boot: Mark
prepare_command_line() __init") then 8d48bf820cf7 does fix my "mem=1G".

I have not tried 5.15-stable, but guess that is likewise afflicted.
Sympathy, but no suggestions from me: early init ordering is hard!

Hugh


2021-12-09 05:49:31

by Hugh Dickins

[permalink] [raw]
Subject: Re: 5.16-rc: "x86/boot: Pull up cmdline" breaks mem=

Typo, sorry Anjaneya.

On Wed, 8 Dec 2021, Hugh Dickins wrote:

> Bad news, I'm afraid: I boot with "mem=1G" on the cmdline for testing,
> which worked fine on 5.16-rc1, but does not work on 5.16-rc2 onwards.
>
> Bisection arrived at 8d48bf8206f7 ("x86/boot: Pull up cmdline preparation
> and early param parsing"); and reverting c0f2077baa41 ("x86/boot: Mark
> prepare_command_line() __init") then 8d48bf820cf7 does fix my "mem=1G".
>
> I have not tried 5.15-stable, but guess that is likewise afflicted.
> Sympathy, but no suggestions from me: early init ordering is hard!
>
> Hugh
>

2021-12-09 10:03:12

by Borislav Petkov

[permalink] [raw]
Subject: Re: 5.16-rc: "x86/boot: Pull up cmdline" breaks mem=

Hi Hugh,

On Wed, Dec 08, 2021 at 09:44:54PM -0800, Hugh Dickins wrote:
> Bad news, I'm afraid: I boot with "mem=1G" on the cmdline for testing,
> which worked fine on 5.16-rc1, but does not work on 5.16-rc2 onwards.
>
> Bisection arrived at 8d48bf8206f7 ("x86/boot: Pull up cmdline preparation
> and early param parsing"); and reverting c0f2077baa41 ("x86/boot: Mark
> prepare_command_line() __init") then 8d48bf820cf7 does fix my "mem=1G".

Yeah, I had a bug reporter report breaking on his machine but he didn't
respond to my request for additional details.

Can you pls send me full dmesg and .config of the -rc1 kernel which
still boots fine. I'd like to try to repro.

> I have not tried 5.15-stable, but guess that is likewise afflicted.

Right.

> Sympathy, but no suggestions from me: early init ordering is hard!

Tell me about it! This is the 4 or so "fix" which tries to address
fallout from Mike and mine's attempt to sort out memblock ordering
during early boot.

Thx.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette

2021-12-09 12:49:15

by Borislav Petkov

[permalink] [raw]
Subject: Re: 5.16-rc: "x86/boot: Pull up cmdline" breaks mem=

Next question: does it boot without having supplied "mem=" on the kernel
cmdline?

And just to make sure I understand correctly: this is 64-bit or 32-bit
kernel?

Thx.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette

2021-12-09 17:25:57

by Hugh Dickins

[permalink] [raw]
Subject: Re: 5.16-rc: "x86/boot: Pull up cmdline" breaks mem=

On Thu, 9 Dec 2021, Borislav Petkov wrote:
>
> Can you pls send me full dmesg and .config of the -rc1 kernel which
> still boots fine. I'd like to try to repro.

I see the action is now happening over in jdorminy's thread, thanks
for the Cc there, I'll look out for developments on that thread.

I judge that you guys understand it better by now, more thought
needed, but my dmesg and config just be noise at this stage; but of
course my testing can help when you've settled on a candidate to try.

So I'll skip sending dmesg and config now: but ask me again if they
would still be useful.

(I see efi issues prompted the failing commit: one of my machines is
legacy booted and CONFIG_EFI is not set, another is UEFI booted and
CONFIG_EFI=y: "mem=1G" is ineffective on both.)

> Next question: does it boot without having supplied "mem=" on the kernel
> cmdline?

No problem with booting whatsoever, mem=1G or not: boots fine, the problem
is just that "mem=1G" is ignored, and I'm given 8G or 16G or whatever the
machine has.

>
> And just to make sure I understand correctly: this is 64-bit or 32-bit
> kernel?

64-bit kernel. Until you asked, I assumed 32-bit kernel would behave
the same, but no: I just tried, and the 32-bit kernel respects "mem=1G"
as it should.

Hugh