Linuxiarze.pl Forum

Sprzęt => Komputery => Wątek zaczęty przez: CDeB w Kwiecień 25, 2025, 01:26:36 AM

Tytuł: Jak ustawić intel_pstate by wykorzystywał konkretne rdzenie procesora.
Wiadomość wysłana przez: CDeB w Kwiecień 25, 2025, 01:26:36 AM
Cześć. Wywaliłam Windowsa z mojego ThinkPada, ponieważ Wine działa na tyle dobrze że "okienkowe" oprogramowanie nie potrzebuje Windowsa. Zdecydowałam się na Minta z xfce. Działa to dobrze, ale pomimo że laptop jest cichszy i chłodniejszy to skrócił mi się istotnie czas pracy na baterii z około 8 do około 5,5 godziny (Firefox, Clementine z muzyką w tle, LibreOffice). Zauważyłam że procesor (Intel Core Ultra 7 155H) korzysta głównie z rdzeni P-cores, rdzenie E są wykorzystywane bardzo rzadko, a LP-E wcale. Chciała bym móc ustawić zarządce w taki sposób żeby korzystał tylko z rdzeni LP-E przy małym obciążeniu, przy normalnym z E-cores, a z rdzeni P tylko wtedy gdy naprawdę musi. Obecne ustawienie to powersave a zarządca intel_pstate.

Tak wygląda topologia procesora: (polecenie lstopo)

(https://imgur.com/Q28xYyg.png)

Zależy mi na ruszeniu rdzenia 14 i 15 a jak widać, przy uruchomionym teście WebGL Aquarium z 15000 rybek ostatnie rdzenie w conky oznaczone jako 21 i 22 nie działają wcale, a jak rozumiem są to właśnie rdzenie LP-E .

(https://imgur.com/7RYz7y9.png)

Wie ktoś może w jaki sposób można to ustawić, by działało wedle założeń? Może jest coś fajnego z GUI żeby można było to rozsądnie ogarnąć.
Tytuł: Odp: Jak ustawić intel_pstate by wykorzystywał konkretne rdzenie procesora.
Wiadomość wysłana przez: pavbaranov w Kwiecień 25, 2025, 01:40:02 PM
Zanim podglądnę u siebie (CachyOS), to może to w jakiś sposób Ci pomoże: https://wiki.archlinux.org/title/Power_management#Processors_with_Intel_Hardware_P-state_support
Może coś takiego: https://github.com/intel/pepc pomoże. Wszak od samego Intela.
Tytuł: Odp: Jak ustawić intel_pstate by wykorzystywał konkretne rdzenie procesora.
Wiadomość wysłana przez: CDeB w Kwiecień 25, 2025, 02:15:09 PM
Narzędzie z githuba jest świetne, pozwala blokować i dławić częstotliwości dla poszczególnych rdzeni, ale nie pozwala nadać priorytetów użycia. Bynajmniej tego nie znalazłam. Już nawet pytałam ChatGPT i Gemini, ale nie dały mi żadnych konkretnych odpowiedzi. Zastanawiałam się nad zmianą kernela, może wyższy numerek coś by zmienił? Jak u Ciebie to wygląda na Archu?
Tytuł: Odp: Jak ustawić intel_pstate by wykorzystywał konkretne rdzenie procesora.
Wiadomość wysłana przez: pavbaranov w Kwiecień 25, 2025, 03:12:36 PM
Ja mam innego schedulera - zerknij: https://wiki.cachyos.org/features/kernel_manager/#bpfland. I to na 100% jest w kernelach z Kaczki, ale nie odpowiem Ci, czy na pewno również w archowych. Dla mnie, to i tak chyba zbyt wysokie progi, bo moje lapki raczej nie te generacje :(
Z tego: https://www.phoronix.com/news/Linux-P-State-Disable-E-Fix wynikałoby, że kernel ma być >=6.5 (u mnie 6.14.3).
Znalazłem jeszcze coś takiego:
https://lenovopress.lenovo.com/lp1946-using-processor-performance-p-states-with-linux-on-intel-based-servers
https://www.kernel.org/doc/html/v4.12/admin-guide/pm/intel_pstate.html
https://lore.kernel.org/lkml/7663799.EvYhyI6sBW@kreacher/
Może to coś Ci pomoże.
Tytuł: Odp: Jak ustawić intel_pstate by wykorzystywał konkretne rdzenie procesora.
Wiadomość wysłana przez: CDeB w Kwiecień 25, 2025, 08:44:09 PM
Bardzo Ci dziękuje za podrzucenie linków, wiele mi wyjaśniły. Częściowym rozwiązaniem, na podstawie poradników, jest wymuszenie trybu pracy intel_pstate jako pasywny, albo wyłączenie HWP. Jednak ustawienie tych opcji w grubie bardzo negatywnie wpływa to na wydajność rdzeni P. Generalnie wszystkie artykuły skupiają się na wydajności rdzeni P właśnie, albo nad sposobem regulacji i zarządzania częstotliwością poszczególnych rdzeni. Podrążę jeszcze temat już tak na spokojnie, zwłaszcza że dałeś mi jakiś punkt zaczepienia. Jeszcze raz dzięki.
Tytuł: Odp: Jak ustawić intel_pstate by wykorzystywał konkretne rdzenie procesora.
Wiadomość wysłana przez: pavbaranov w Kwiecień 25, 2025, 09:57:55 PM
Zachacz jeszcze @sir_lucjan - on w kernelu Kaczki miesza. Może coś Ci pomoże.
Tytuł: Odp: Jak ustawić intel_pstate by wykorzystywał konkretne rdzenie procesora.
Wiadomość wysłana przez: CDeB w Kwiecień 29, 2025, 10:55:38 PM
Jajko 6.14.4 i gcc14 dla atencji rozwiązało problem. Co prawda nie tak jak chciałam, bo nie ogarnęłam priorytetu rdzeni, ale pobawiłam się częstotliwościami, co umożliwiło mi zjechanie z częstotliwością rdzeni do 400MHz :). Obecnie mam rozrzut częstotliwości pracy rdzeni P od 400MHz do 4,8GHz. Co ciekawe, według specyfikacji minimalna częstotliwość wynosi 700MHz. Sensory wskazują wykorzystanie mocy na baterii 6W - 6,4W w stanie spoczynku. Nie wiem jak interpretować wskazania częstotliwości, ale niezależnie od tego jak jest, działa to zacnie.

Bateria trzyma o jakieś 30% dłużej niż na Windowsie, więc głównie założenie zostało zrealizowane:

(https://imgur.com/6xpSeQp.png)


Jeszcze raz dzięki @pavbaranov za podrzucenie linków, naprawdę się przydały.