Hello, is the autofdo kernel optimized for an specific cpu?

That’s all, that’s the question.

Supported CPUs

AMD: Zen 3 (Only EPYCs with BRS) and Zen4 / Zen5
Intel: All CPUs, which are supporting LBR (likely any cpu after haswell)

You can read more from the blog: Optimizing the Kernel with AutoFDO on CachyOS — CachyOS

As I understood it those restrictions apply on creating the profile as that profiling needs CPU support.

The resulting profile is then used for compiling an optimized kernel.

The kernel however should be usable on any platform.

Or?

Yep, the autofdo is supported on those. Not sure if the kernel is available on repos (I’m on zenv4).

You can of course run the kernel without creating the profile

Kernels are available on repos, and yes they’re usable for all CPUs that support those repos. The supported CPUs are only for profiling purposes.

Available for 13th gen intel cpu @inffy , got it installed early in the Morning, wonder if it s all tweaked as mentioned in the link above , hopefully we don t have to tweak it ourselves after install.

Oh, that sux ! lol

Thx for the comeback in there @inffy .

So, just for my understanding:

a)
The autofdo kernels

  • only provide the profiling functionality to create a profile
  • but do not use a profile provided by someone else, e.g. the CachyOS team

So that kernel is not specifically “more optimized” than, say, the default kernel, but just provides the interface for the profiler?

b)
If true, this would differ from an lto kernel, where the optimization has been applied

No that’s incorrect. autofdo kernels have already been profiled and are using the profile by us.

Ah so I remembered wrong that it wouldn’t have any profile by default.

Retract my earlier statement :stuck_out_tongue:

Thank you for clarifying!

Because for me there was a possibility of misunderstanding going on.

Edit, @deex posted at around the same time, so to add to @deex s

Oh, from my understanding, the kernel installer (sees what CPU we have, either AMD or Intel ), the kernel s optimized at install & we go from there @naim !

I wonder if a profile created from a v4 kernel is applicable to a v3 kernel because the codepaths executed on the v4 might not be available on “lesser” platforms. :thinking: