Performance optimized repositories - cachyos-aur

Geekbench detected no performance improvement. Duh. I get a boost by having more optimized applications, not by having the CPU actually work faster.

My pre-upgrade snapshots expired so I can't boot on old snapshot to benchmark anymore.

If someone else wants to apply the upgrades, could you run Javascript benchmarks? Firedragon is among the things that get recompiled and thus Javascript should see a good difference.

  1. Run the JetStream benchmark before

  2. Apply the Intel upgrade

  3. Add the AHLP repos

  4. Benchmark again

  5. Post results.

I'm curious.

OK, so did a few performance benchmarks on this: context, benchmarking garuda-cachyos-x86-v3 vs gentoo-znver2.

As normal and previous using ahlp, gentoo (all compiled to znver2) is around 15/20% faster than garuda on some tests. but it's "not felt" ... its only through various hyperfine benchmarks.

the kernel though, cachyos-bore-lto was the one I tested.... focked all the results. both in gentoo and garuda (I copied the kernel installed on garuda to gentoo, kernel, initramfs and modules), in some benchmarks, halfed the times of the tests.

on jetstream bench, it increased 14% the final result.

Probably, what is doing this, is I noticed cachyos is using the new amd-pstate-epp, and it seemed to work wonders. (using zen or xanmod kernels, with performance governor was able to keep up, but amd-pstate-epp does switch frequencies, unlike performance on "normal" amd-pstate).

All in all... bottom line, for amd ryzen users, i would advise using cachyos repo or ahlp (or both) and definitly using cachyos kernel and check if amd-pstate-epp is enabled on cpupower.

PS: remembered why i stopped using cachyos repos: some packages were/are missing.

5 Likes

Hmm, after installing a cachyos kernel and upgrading with garuda-update, I have the next error

:: Running post-transaction hooks...
( 1/19) Restoring Linux kernel modules...
++ uname -r
+ KVER=6.0.0-1-cachyos
+ test -e /usr/lib/modules/backup/6.0.0-1-cachyos
+ rsync -AHXal --ignore-existing /usr/lib/modules/backup/6.0.0-1-cachyos /usr/lib/modules/
+ rm -rf /usr/lib/modules/backup
( 2/19) Creating system user accounts...
( 3/19) Reloading system manager configuration...
( 4/19) Creating temporary files...
( 5/19) Arming ConditionNeedsUpdate...
( 6/19) Updating module dependencies...
( 7/19) Install DKMS modules
==> dkms install --no-depmod v4l2loopback-dc/1.8.2 -k 6.0.1-1-cachyos
==> dkms install --no-depmod hid-xpadneo/0.9.5 -k 6.0.1-1-cachyos
==> depmod 6.0.1-1-cachyos
( 8/19) Updating linux initcpios...
call to execv failed (No such file or directory)
error: command failed to execute correctly

After that, when I reboot and in grub menu, when I select "Garuda Linux". I will have stuff related to "zen-kernel" something and and error "you should load the kernel first"

kek

 ╰─λ mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux-cachyos.preset: 'default'
  -> -k /boot/vmlinuz-linux-cachyos -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-cachyos.img
==> ERROR: specified kernel image does not exist: `/boot/vmlinuz-linux-cachyos'
==> Building image from preset: /etc/mkinitcpio.d/linux-cachyos.preset: 'fallback'
  -> -k /boot/vmlinuz-linux-cachyos -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-cachyos-fallback.img -S autodetect
==> ERROR: specified kernel image does not exist: `/boot/vmlinuz-linux-cachyos'

After updating or installing any kernel system is crushed. Not sure how to resolve this

Make an issue and stop posting it under the community section in an open thread would be my first tip

well ... in my case:

I had to copy the kernel into boot and manually run mkinitcpio

the kernel is in /lib/modules/$VERSION/vmlinuz

dunny why but didn't work like "other arch kernels".

1 Like

Try to remove the kernel, you still should have a performance uplift, because of packages x86-64-v3.

1 Like

Actually the amd-pstate-epp does not bring a benefit in most cpu benchmarks, I have benchmarked all amd-pstate-epp preferences (can be set when using the powersave gov), against acpi and amd-pstate (schedutil, ondemand, performance - powersave is at them not useable), and acpi perf did showed the best result.

The EPP driver improves the frequencies switching a lot --> better power per watt ratio.

To your PS:

Which packages you are missing ?

Edit:

pstate-epp will need with 6.0.2 then a cmdline parameter to be enabled:
amd_pstate.epp=1

2 Likes

well... actually it does! but in my case i have to use amd_pstate.shared_mem=1 so, other cpus might have different results.
the result on amd-pstate-epp is only comparable to amd-pstate with performance gov, but then, it gets much hotter and uses more watts. i guess amd-pstate-epp on performance gov is kinda like amd-pstate performance gov, but turning freq to min when not in use. FINE by me.

in here, zen2 cpu, it doesn't switch much frequencies... its either min freq or max freq.

I don't remember all of them, but for example notice on this recent testing that chromium is missing. its cool that ungoogled-chromium exists, but is not a 1:1 map with arch repos.

But I found amd_pstate_epp performance to be similar as amd-pstate ondemand.
According to my tests here(https://forum.garudalinux.org/t/discussing-linux-kernels-for-garuda-linux/):
The xanmod kernel using amd-pstate gives more battery, and the overall temperature seems lower than the linux-bore kernel with amd_pstate_epp.

well ... dunno!
I am not invalidating any results, just stating what is happening here on my znver2!

that chromium is missing. its cool that ungoogled-chromium exists, but is not a 1:1 map with arch repos.

We don't actually provide optimized "community" repo(in which chromium is), maybe in future.

I think you have not used the the powersave gov, then you are able to set different preferences.
The performance gov is not really good at the epp driver, you should do following:

sudo cpupower frequency-set -g powersave
echo power | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference

Following can be set as prefererence:
default performance balance_performance balance_power power

Here you can read more about the ppw.
https://lore.kernel.org/lkml/[email protected]/

4 Likes

That looks more like a Kernel parm than a Command line parm. Is it?

1 Like

It is indeed :smiley:

3 Likes

This command gave me an error

❯ sudo cpupower frequency-set -g performance               
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
Setting cpu: 8
Setting cpu: 9
Setting cpu: 10
Setting cpu: 11
Following CPUs are offline:
12-15
cpupower set operation was not performed on them

But I could do the same thing with corectrl, so no worries.

~ 
❯ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
amd_pstate_epp

~ 
❯ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
powersave

~ 
❯ cat /sys/devices/system/cpu/cpu1/cpufreq/energy_performance_preference
performance

~ 
❯ echo power | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference
power

❯ cat /sys/devices/system/cpu/cpu1/cpufreq/energy_performance_preference
power

As you can see energy_performance_preference is set to performance by default on boot.
So I have to run this every time I boot:

❯ echo power | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference
power

Is there a way to do it automatically on boot?

I have enabled corectrl to start on startup, so it automatically sets the scaling_governor to powersave

Hey tnx for this! I've been trying to find a way to know whether I run or not EPP. So interesting when we read posts and follow all sorts of threads.

What does your inxi "say" :slight_smile: ?

amd-pstate

Speed (MHz): avg: 3996 high: 4680 min/max: 400/4680 boost: enabled
base/boost: 3300/4650 scaling: driver: amd-pstate governor: performance
volts: 1.2 V ext-clock: 100 MHz cores: 1: 3374 2: 4680 3: 3453 4: 4680
5: 4680 6: 3372 7: 3319 8: 4680 9: 3471 10: 3605 11: 3510 12: 3529
13: 4680 14: 4680 15: 3544 16: 4680 bogomips: 105511

amd_pstate_epp

  Speed (MHz): avg: 573 high: 3175 min/max: 400/4680 scaling:
    driver: amd_pstate_epp governor: performance cores: 1: 400 2: 400 3: 400
    4: 400 5: 3175 6: 400 7: 400 8: 400 9: 400 10: 400 11: 400 12: 400
    13: 400 14: 400 15: 400 16: 400 bogomips: 105519
1 Like
scaling: driver: acpi-cpufreq

Darn it! I gotta fix this. Tnx for pointing it out SGS and Austin. :smiley:

3 Likes

Is there a specific reason why cachyos is not in the Garuda Kernel Settings list?