Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Slow compilation time on meteor lake laptop
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5264
Location: Bavaria

PostPosted: Wed Nov 27, 2024 11:38 pm    Post subject: Reply with quote

keekkenen wrote:
[...] Maybe you have the wrong kernel config, it's makes sense.

PO said in his first post he is using our distribution kernel (and I have checked the systemlog): 6.11.10-gentoo-dist
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
nxe9
Tux's lil' helper
Tux's lil' helper


Joined: 05 Jun 2021
Posts: 137

PostPosted: Thu Nov 28, 2024 12:02 am    Post subject: Reply with quote

pietinger wrote:
6.11.10-gentoo-dist

Exactly.
Back to top
View user's profile Send private message
nxe9
Tux's lil' helper
Tux's lil' helper


Joined: 05 Jun 2021
Posts: 137

PostPosted: Wed Dec 25, 2024 2:51 pm    Post subject: Reply with quote

Hi, I have new insights. I came across the following recently published article.
https://www.notebookcheck.net/Lenovo-ThinkPad-E14-G6-laptop-review-Fixes-lots-of-problems-on-the-E14-G5.927075.0.html#

It's about the same laptop series as mine, only with a slightly worse CPU. They test Intel Core Ultra 7 155U and mine CPU is Intel Core Ultra 155H.

The following test is interesting for me.
Code:
7z b 4

“4” means 4 iterations (this is a good idea because of the longer load, I previously tested the default 1 iteration). It’s multi threading test with all available threads.


They got a result of 41498 MIPS. My result on gentoo is about 30000 MIPS, so clearly weaker despite a better CPU. So I started comparing it on updated windows 11. I got results similar to gentoo. However, on Windows I used the default power profile. The default profile is balance and this is currently the only profile for laptops. However, you can set your own profiles. Procesor power management / minimum processor state is 5 % on balanced and I changed it to 100 % on my own profile. Result? About 40000 MIPS. So clearly better, but still worse than on notebookcheck with 155U.

On lenovo website I found two critical chipset updates for my laptop.
- Intel Processor Power Management (PPM) Package for Windows 11 (Version 22H2 or later) – ThinkPad
- Intel Neural Processing Unit Driver

From intel.com
Quote:
Intel® PPM driver installs the PPM package that provides a tuned and optimized power management settings for the processor to improve responsiveness, battery life and performance.


After installation, performance improved. I'm currently getting results of about 47000-52000 MIPS on Windows. So it's plausible for what you read in the article.

So everything indicates that the results on Linux are a firmware/driver/software issue. Linux currently works for me on a similar principle to Balanced Windows without additional patches. It would be great to achieve results of 50000 mips on linux because it would significantly reduce compilation time.

Can I somehow adjust the kernel for this? And do you know anything about PPM on Linux? Perhaps it is also a matter of time until the appropriate code appears in the latest kernel versions. My hardware is quite new and actually appeared in laptops only in recent months.

Edit:
The strange thing:

Code:
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance
performance


The scaling_governor looks good. So it looks like Linux supports this processor worse than Windows. I guess I'll have to ask on the kernel mailing list.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5264
Location: Bavaria

PostPosted: Thu Dec 26, 2024 8:24 am    Post subject: Reply with quote

nxe9 wrote:
[...]They got a result of 41498 MIPS. [...] Result? About 40000 MIPS. So clearly better, but still worse than on notebookcheck with 155U.

We dont know which Linux they use. Please keep in mind that our Gentoo distribution kernel has some hardening options enabled as default. You could try - only for testing - booting with the command line parameter: "mitigations=off" (this cancel all mitigations) and test again the speed.
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6181
Location: Dallas area

PostPosted: Thu Dec 26, 2024 2:26 pm    Post subject: Reply with quote

You could try using taskset with emerges. (man taskset)

That cpu has 6 performance cores w/hyperthreading giving you 12
8 ecores w/no hypertreading
2 ecores low power with no hypertreading

So I would probably use taskset with 0-11 (from what I've read that should be the performance cores) and adjust to -j12 or so.
(the only way I would know if the 0-11 is correct is to try it)

Without using taskset you will sometimes use either the ecores or the low ecores both of which would impact performance.

Edit to add: lstopo should show which cores are which

Eta2: should look like this https://blog.reds.ch/wp-content/uploads/2024/07/ultra7lstopo.png
_________________
UM780, 6.12 zen kernel, gcc 13, openrc, wayland
Back to top
View user's profile Send private message
nxe9
Tux's lil' helper
Tux's lil' helper


Joined: 05 Jun 2021
Posts: 137

PostPosted: Thu Dec 26, 2024 10:02 pm    Post subject: Reply with quote

@pietinger: They use windows with performance profile.

Quote:
Testing Conditions

We set Windows to Performance mode prior to running the benchmarks below.


Thanks, I will try the mitigations=off later


@Anon-E-moose
Thanks. What you write about is a slightly different topic, but also interesting. So far I have only set MAEKOTPS="-j12". Surprisingly, after setting this, programs compile about 10-20% faster. I think this is because the system then assigns work to more efficient cores. Otherwise, most of the work is done on slower ones. I haven't dealt with taskset yet. If I understand you correctly, the idea is to assign only the efficient kernels to emerge? I will have to look into this.


Back to the topic of performance with 7z.

The latest live usb arch has kernel 6.12.1 and I tried it. The performance is better, about 38000 MIPS. I am currently using Gentoo 6.11.11. I just have to try 6.12 on gentoo first. Maybe there are some fixes there.

Here's a quick summary of mine Ultra 155H:
- Gentoo 6.11.11: ~30000 MIPS
- Arch Live USB 6.12.1: ~38000 MIPS
- Windows 11 Balanced Profile: ~30000 MIPS
- Windows 11 Performance Profile: ~40000 MIPS
- Windows 11 Performance Profile with PPM Chipset update: ~50000 MIPS

- Ultra 155U Windows Performance from notebookcheck.net: ~41000 MIPS.
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6181
Location: Dallas area

PostPosted: Fri Dec 27, 2024 1:00 am    Post subject: Reply with quote

You can use taskset for any application, a browser, or emerges, or anything you really want performance for.

I use it for my qemu vm's.

Should be as simple as "taskset -c 0-11 emerge -v <whatever>" or "taskset -c 0-3 firefox" to keep firefox on the performance cores
or "taskset -c 12-15" to have it use the ecores.

Does "taskset -c 0-11 7z ..." show any performance difference? As 7z is being forced to stay on the pcores.

Edit to add: taskset just pins an app to a one or more cores/threads. Doesn't matter what the app is.

Do keep in mind when assigning cores/threads it's best to assign threads for the core together.
On my amd cpu, threads 0 and 8 are on core 0.
In your case it's a little nicer as your core 0 threads are "0 1" (so nice linear progression)

So if you wanted to give 8 cores/threads to some app you would do something like this "taskset -c 0-7 <application>"
which uses the first 4 pcores, leaving 2 for other work along with all ecores.
_________________
UM780, 6.12 zen kernel, gcc 13, openrc, wayland
Back to top
View user's profile Send private message
nxe9
Tux's lil' helper
Tux's lil' helper


Joined: 05 Jun 2021
Posts: 137

PostPosted: Sat Dec 28, 2024 11:51 pm    Post subject: Reply with quote

@pietinger

New information...

Gentoo 6.12.7, mitigations off/on, thermald and laptop-mode-tools services off/on, in all cases the max. value is about 32000.

Arch live usb 6.12.1, mitigation is on (checked with lscpu), max test result about 42000. So the result is comparable to that on Windows (performance profile without PPM).

I can reproduce test results very reliably.

In short, arch linux performs about 30% better than gentoo in multicore. There must be some reason for this, but what? Does gentoo-kernel have some sub-optimal configuration?


One difference, on archlinux

Code:
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
...
powersave


Interesting. The scaling_governor is powersave instead of performance...

Edit:
No improvement after
Code:
# cpupower frequency-set -g powersave

on gentoo.
Back to top
View user's profile Send private message
keekkenen
n00b
n00b


Joined: 05 Oct 2024
Posts: 19

PostPosted: Sun Dec 29, 2024 11:12 am    Post subject: Reply with quote

I have the same situation, but 7z versions are too different.

Code:

7-Zip 24.08 (x64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-08-11           
                                                                               
Compiler:  MSC 1400.140040310                                                   
Windows 10.0 22631 : Microsoft Hv : Hv#1 : 10.0.22621.3.0.3733                 
x64 19.6102 threads:32 128TB f:7FB10E2774C                                     
AMD Ryzen 9 7950X3D 16-Core Processor                                           
(A60F12 : AMD64 Family 25 Model 97 Stepping 2) (A601206.0->A601206.0)           
                                                                               
1T CPU Freq (MHz):  5166  5204  5211  5221  5215  5236  5198                   
16T CPU Freq (MHz): 1480% 5076   1508% 4967                                     
32T CPU Freq (MHz): 2089% 3483   2912% 4688                                     
                                                                               
RAM size:   65129 MB,  # CPU hardware threads:  32                             
RAM usage:   7119 MB,  # Benchmark threads:     32                             
                                                                               
                       Compressing  |                  Decompressing           
Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating           
         KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS           
                                                                               
22:     211251  1470  13984 205506  |    3090535  3102   8494 263497           
23:     185222  1582  11930 188720  |    3026369  3098   8451 261823           
24:     175238  1301  14487 188416  |    2945806  3081   8388 258485           
25:     166152  1176  16135 189706  |    2845769  3068   8252 253189           
22:     207489  1541  13100 201846  |    2981152  3115   8160 254171           
23:     169547  1506  11470 172749  |    2618153  3080   7354 226506           
24:     158817  1498  11397 170760  |    2582723  3108   7292 226626           
25:     155416  1335  13296 177449  |    2453694  3027   7213 218306           
22:     175348  1154  14782 170579  |    2691353  3119   7356 229463           
23:     169219  1569  10987 172414  |    2646390  3117   7346 228949           
24:     163349  1483  11844 175634  |    2564963  3069   7333 225067           
25:     156995  1346  13315 179252  |    2480647  3058   7218 220704           
22:     186696  1071  16960 181619  |    2688747  3112   7367 229241           
23:     171454  1448  12064 174691  |    2627229  3094   7346 227292           
24:     162892  1412  12404 175142  |    2573902  3093   7303 225852           
25:     148228  1570  10783 169241  |    2403940  2955   7239 213880           
----------------------------------  | ------------------------------           
Avr:    172707  1404  13059 180858  |    2701336  3081   7632 235191           
Tot:            2242  10345 208024     

Code:
7-Zip [64] 17.05 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28
p7zip Version 17.05 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,32 CPUs AMD Ryzen 9 7950X3D 16-Core Processor           (A60F12),ASM,AES-NI)

AMD Ryzen 9 7950X3D 16-Core Processor           (A60F12)
CPU Freq: - - - - - - - - -

RAM size:   63893 MB,  # CPU hardware threads:  32
RAM usage:   7060 MB,  # Benchmark threads:     32

                       Compressing  |                  Decompressing
Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
         KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS

22:     164906  2859   5611 160421  |    1760537  3139   4784 150137
23:     154262  2916   5390 157175  |    1726844  3128   4778 149426
24:     147774  2923   5435 158888  |    1700950  3123   4781 149297
25:     142434  2919   5572 162626  |    1677715  3146   4747 149305
22:     163283  2838   5597 158842  |    1750262  3135   4761 149261
23:     152520  2906   5348 155400  |    1721307  3116   4780 148947
24:     149407  2963   5422 160643  |    1720118  3160   4779 150980
25:     144579  2948   5600 165075  |    1647903  3095   4738 146652
22:     164010  2856   5587 159549  |    1743036  3121   4763 148644
23:     154306  2881   5458 157219  |    1724816  3129   4771 149250
24:     147977  2912   5463 159105  |    1696335  3120   4772 148892
25:     142581  2941   5535 162794  |    1649788  3101   4735 146820
22:     163023  2798   5667 158590  |    1750821  3134   4764 149308
23:     154147  2888   5437 157058  |    1720403  3123   4768 148869
24:     149646  2939   5475 160900  |    1712064  3145   4779 150273
25:     142490  2932   5550 162690  |    1675496  3145   4742 149108
----------------------------------  | ------------------------------
Avr:            2901   5509 159811  |             3129   4765 149073
Tot:            3015   5137 154442

_________________
7950x3d / x670e MSI Tomagawk / Sapphire RX 7800XT 16Gb / G.Skill 64Gb 5600 / A-Data Legend 960 2Tb (x2), A-Data SX8200PNP 256Gb
Back to top
View user's profile Send private message
nxe9
Tux's lil' helper
Tux's lil' helper


Joined: 05 Jun 2021
Posts: 137

PostPosted: Sun Dec 29, 2024 2:06 pm    Post subject: Reply with quote

@keekkenen
Don't use p7zip
Quote:
As of 2024-08-02, the last update of p7zip was a year ago [1], and it is probably vulnerable [2][3], so it is better to use 7-Zip instead.

https://wiki.gentoo.org/wiki/P7zip

Use https://wiki.gentoo.org/wiki/7-Zip instead. That is the reason for your "old" 17.05 version.

The command is "7zz b 4" with 7zip on gentoo.

If you have the ability please check the new arch live usb (6.12.1). https://archlinux.org/download/
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum