-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kernel 5.15 does not boot when built with CONFIG_MPILEDRIVER=y #80
Comments
There are a lot of objtool warnings while compiling, looks similar to #30 |
I did hit #30 at that time too. But I think it's not the same. #30 is about the kernel not building at all with CONFIG_MPILEDRIVER=y. This issue here is about the kernel building ok, but it won't run (won't even boot to the point I could get a dmesg via netconsole). I read the linked Gentoo Forums thread about CONFIG_STACK_VALIDATION and wanted to try with CONFIG_STACK_VALIDATION=n but I can't deselect it in my config, even when not using ORC unwinder. Btw issue is the same on my Opteron 6386 SE box. |
Is 5.14.15 or 5.14.16 kernel CONFIG_MPILEDRIVER works for you? why I am asking. I am trying to figure out is this is related or I should create new issue. |
Yes, 5.14.16 works on my FX-8370 with CONFIG_MPILEDRIVER, also with CONFIG_MSTEAMROLLER on my A10-8750B. So it's probably a different issue. But I'll double-check on both machines with 5.14.17 an report back here should I be wrong. |
From my understanding objtool isn't supposed to handle extended instructions like SIMD and whatever else, as those are not normally needed in the kernel code. |
So it is this patch causing it! I've been trying to boot 5.15.2 for the past couple days and have been getting a huge amount of objtool warnings and an unbootable kernel. I used my config from 5.14.14, did make oldconfig, and have always used CONFIG_MSTEAMROLLER. Just thought i'd add my experience here, thanks for the patch btw! |
@Pigpog - I am not sure what changed from 5.14.14 --> 5.15.2 that would cause this behavior. I am running 5.15.2 built with
|
x86-64-v2 (supported, searched) // AMD A8-7200P |
Definitely a Steamroller/Piledriver issue I think. My Ryzen 9 5950X is fine with CONFIG_MZEN3 and my Athlon X2 3250e with CONFIG_MK8SSE3 on 5.15.x.
|
|
Built with CONFIG_GENERIC_CPU2 kernel 5.15.2 boots fine on my FX8370! |
I might be off base with this but seems as though the body of evidence is pointing to the flag/compiler interacting with the 5.15 kernel in some way... |
... and to some subtle differences between bdver1, generic-v2 and bdver2. Don't know wheter the compiler matters much as bdver2 kernels fail regardless of built with clang-13 or gcc-12. I can try older versions as well if this should be helpful. |
I honestly don't have a good plan to track this down. |
I just compiled 5.15.2 for bulldozer instead of steamroller and it booted just fine, and compiled without warnings. Here are the relevant bits of
Perhaps I should try Piledriver optimizations for my Steamroller next? Let me know if there's any tests I should try, I have access to a few other architectures too (Coffee Lake, Sandy Bridge, Intel Atom, Caspian). |
@drfiemost - Nice, thanks for pointing that out. Totally slipped my mind. Can one of you guys please try af5c6eb from my test branch to verify functionality? I successfully built 5.15.2 (MPILEDRIVER) but cannot boot it without the hardware. Further, I am unclear if the syntax is:
EDIT: Actually, I see it could very well be option 3.
|
From the docs:
So it may be useful if there's any known compiler or compiler version which doesn't support the -mno-tbm flag. |
@drfiemost - Thanks for the link. I agree with you in principal but since this patch only applies to 5.15 with at least gcc11 or at least clang12, I think we're good without it, no? |
Compiled using f141161 for Steamroller using Steamroller setting and it gave no warnings and booted fine |
f141161 made 5.15.2 build & boot with CONFIG_MPILEDRIVER=y on my FX8370 too. Thanks! |
Kernel 5.15 (gentoo-sources) builds fine with CONFIG_MPILEDRIVER=y on my AMD FX-8370 but it won't boot. I don't even get netconsole output... Does not matter whether I build the kernel with gcc (11.2.0) or clang (12.0.1).
But I found out when I build the kernel with CONFIG_GENERIC_CPU=y or CONFIG_MBULLDOZER=y it just runs fine. Kernel 5.14.x runs ok with CONFIG_MPILEDRIVER=y.
Some data about the cpu and the system in general:
This is Genoo downstream bugreport: https://bugs.gentoo.org/821406
Please find kernel .config and dmesg (with CONFIG_MBULLDOZER=y) in the downstream bugreport.
The text was updated successfully, but these errors were encountered: