-
-
Notifications
You must be signed in to change notification settings - Fork 49
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
Add support for Zen 3 march #59
Comments
Hi Tom, Thank you for your message! Given that I don't have any Zen 3 machines in my cluster (yet), I haven't thought about adding a build for it. Note that the Zen 2 kernel is identical to the generic kernel, except that it is tuned for the Zen 2 micro-architecture (via GCC's As for adding Zen 3 builds, it seems that support for Zen 3 optimizations has only landed in GCC 11, which has not been released in Ubuntu as far as I know. Though, it should not matter much, using the generic or Zen 2 kernel should work fine for you. |
Not trying to push, but, you are more than welcome on my machine.
Thanks for the tip! I didn't know. But I might be okay on compiling edge gcc and its edgy friends. :)
Yeah, I guessed this. I imagine Zen 3 also might be a compiler flag, simple enough to be within my pay grade. :) I might even try it! :) It's nice that you make edge kernels more easily available to Proxmox peeps. Thank you again, Fabian! |
Thank you for the nice comment! If you want to try it yourself, and manage to install GCC 11, I expect the following command to achieve what you want (given that you have cloned the repository): make PVE_BUILD_CC=gcc-11 PVE_BUILD_CFLAGS="-march=znver3" |
Hey guys, im interested in zen3 either 😂 What are you using as build environment @fabianishere ? Cause I don't think, we can use anything, it needs to have gcc11 + dwarf from debian testing etc, not that super easy i think 🙈 If i can get it working, i can probably help out building and uploading it. And the kernels got gigantic, holy fuck, i remember 15y back, how small they were, whatever, offtopic 😂 So please provide some info for a good build environment. Additionally, how it works now with openzfs? This needs to be cloned inside the kernel somehow either? Sorry, im a bit outdated 🤦♂️ |
You might try to install GCC 11 from Debian Experimental. You can then just follow the steps in the README to obtain the repository and build the kernel as follows: make PVE_BUILD_CC=gcc-11 PVE_BUILD_CFLAGS="-march=znver3" This will also build OpenZFS for you and include it in the kernel package. The configuration for these kernels is based on the original Proxmox configs (which is based in turn on Ubuntu). See Lines 26 to 82 in 601b621
As for my build environment, I use a Ubuntu Focal-based 64-core system for the Github Actions Runner. |
Thanks, im going to try out after work! |
Hi, just a small update, Im compiling 5.11.5 right now, but didn't used -j`nproc --all`, so it will take forever xD However, are there ways to improve the rules somehow? Just looking for ways to slim down the kernel and maybe optimize it more for zen3. Another thing is, we don't need some intel drivers on an amd kernel & opposite. However, when the compilation is done, i will send a link here, for anyone interrested. |
You can pass your own kernel configuration file if you prefer, but this requires some changes. To change the Proxmox-specific options, modify: Lines 26 to 82 in 601b621
If you also want to remove the Ubuntu/Debian configuration options, modify: Line 117 in 601b621
|
I simply added this into
Looked like the easiest way for me to remove the bloat, those things are self explaining, tryed to remove Wireless/BT/Intel/GPU driver for amd based kernel on a hypervisor. However, there are more things that needs to get removed, everyone that want to help making a list is greatly welcome:
This looks like a random list, but i think no one needs this in the zen kernel. However, here is the kernel (without these in the kernel: amd/radeon/nouveau/bt/wifi etc):
That means for me, that we need some additional packages: (i have installed default-jdk either, dunno what the compiler wants, but whatever, enough diskspace is available) Will Provide an updated Package in a bit. |
https://lists.debian.org/debian-release/2015/02/msg00080.html Well i found this, seems like it's intended. That means that everything is right? |
Okay here we go: Removed:
Why removed? -> Because it is an amd zen3 hypervisor, doesn't need intel and doesn't need GPU/Sound/Wifi/BT etc... Cheers |
Okay, i tested what i compiled 🤣 FML, this has less todo with the compilation, and more with the fact of 5.11 itself.
FreeBSD 12.2 (OpenSense) doesn't boots anymore with cpu "host" -> Setted to EPYC and it boots... However, everything works perfectly!!! Im happy that i did this! I can try to provide the builds from time to time! |
Hey guys, small update, as next 5.11.7 is comming, since it has more changes as the previous ones: Changelog 5.11.7: Changelog 5.11.6: Changelog 5.11.5: Changelog 5.11.4: But it will take a bit, im trying to compile the new kernel with AOCC(v3.0 Clang LLVM 12)+LTO(LLD)+O3 for Zen 2 & Zen 3 Wish me luck xD |
While the complete building process of 5.11.7 runs really well, i get almost no warnings anymore. Seems like either the compiler or code was improved... Im running on building 5.11.7 into this issue:
I guess there is something missing from ubuntu/debian to build the install packages? |
Changelog 5.11.7:
Removed from Kernel:
Didn't managed to build AOCC with LTO yet, running into some errors that needs fixing first.... |
For everyone that's interrested: I provide there Znver3 buils, build based on official pve 5.11 repo. Cheers |
Hi, I have decided not to offer pre-built kernels for non-generic microarchitectures anymore. The performance benefit of optimizing the kernel for a specific microarchitecture is unfortunately negligible and I don't have the time to maintain multiple builds. |
i see it similar after all the time of doing this and testing. Thanks for your effort fabian, i learned here much! Edit: Probably you can simply provide an "core2" build. There is a minimal performance benefit, and everyone can use it. Even an 2012 atom has sse3. However, thank you very much and cheers 👍 |
Hi Fabian!
Thanks for this project which has been very helpful to me!
Your Zen 2 kernel seems to work fine with Proxmox on my Zen 3 5950X, but I wonder if you are planning to add Zen 3.
Thanks again so much!
Best wishes and kindest regards,
Tom
The text was updated successfully, but these errors were encountered: