Îmbunătățirea Galaxiei Exynos 9810 S9: Partea 2 - Împușcarea cu Snapdragon

În urma examinării noastre despre Galaxy S9, au fost multe discuții despre performanța și durata de viață a bateriei pentru variantele Exynos 9810 ale Galaxy S9. În revizuirea originală am identificat câteva aspecte-cheie cu platforma pentru care am considerat că este cel mai negativ atribut caracteristicilor proaste ale telefonului. În o primă piesă după revizuire Am făcut câteva modificări minore ale kernelului, care deja păreau că au beneficiat de o durată de viață a bateriei în testul nostru de navigare pe web, schimbând ușor caracteristicile de performanță ale telefonului pentru pozitiv.

În articolul precedent am remarcat că sunt multe de făcut pentru a îmbunătăți performanța telefonului în continuare și a încerca să optimizați durata de viață a bateriei. Mai ales pe partea de performanță a lucrurilor au fost, în opinia mea, fructe foarte slabe în ceea ce privește posibilele schimbări care ar aduce beneficii experienței utilizatorului.

Concentrându-se pe performanță

Pentru această a doua parte, am încercat să recuperăm cea mai bună performanță posibilă și să se potrivească variantei Snapdragon 845 a modelului Galaxy S9, păstrând în același timp atenția asupra duratei de viață a bateriei.

Samsung Galaxy S9 (E9810)
Compararea kernelului și schimbarea codului
VersiuneModificări și note
Firmware-ul oficialDupă cum este expediat- Configurarea stocurilor și comportamentul
- Un singur M3 Core la 2704 MHz
- Dual Core M3 la 2314 MHz
- Quad Core M3 la 1794 MHz
"CPU Limited
Modul“
- opțional modul CPU definit de Samsung în Setări
- CPU limitat la 1469 MHz
- Controler de memorie la jumătate de viteză
- Programator conservator
Config. Personalizat 1- Începeți cu firmware-ul "As Expediat"
- Îndepărtați mecanismul de conectare la rețea
- Limitați frecvența de frecvență M3 la 1794MHz la orice încărcare
Config. Personalizat 2
(Sursă de kernel)
- Ridicați frecvența de bază mică la 1950MHz
- Ridicați frecvența minimă de bază minimă la 962MHz
- Adaptarea tabelelor de costuri EAS pe baza puterii și puterii măsurate
- Mergeți patch-urile de planificator la 4.9-eas-dev (Până la Jan18)
- Backport PELT util_est și folosiți-l
- Backport PELT rata de decădere schimbă la 16ms
- Adaptați / dezactivați nu mai sunt necesare moduri Samsung (util)
- Modificări personalizate minore pentru tuning
Config. Personalizat 3- Ridicați frecvența de bază mare la 2314MHz și reglajele relevante

Ca punct de pornire continuăm acolo unde am rămas în parte 1, ceea ce a fost extrem de simplu deoarece singurele schimbări au fost eliminarea tuturor frecvențelor de amplificare deasupra 1.8GHz pe miezurile M3 și dezactivarea driverului online core / hotplugging.

În revizuirea originală, cea mai evidentă problemă pe care am identificat-o în ceea ce privește afectarea gravă a performanței telefonului a fost modul în care dispozitivul a fost extrem de lent în ceea ce privește creșterea frecvenței, precum și migrarea firelor pe miezurile mari. Valorile originale pe care le-am descris au fost în jurul valorii de 410ms pentru un volum de lucru continuu de stare continuă pentru a ajunge la frecvența maximă a miezurilor mari. Acesta a fost un contrast deosebit cu 65ms al variantei Snapdragon 845. Stabilind toate celelalte lucruri deoparte, aceasta este ceea ce limitează performanța interactivă a Exynos 9810 cel mai mult, așa că, firește, ceea ce vrem să rezolvăm în primul rând.

Programarea istoricului în jurul EAS

Ca un mic backstory, încă de la mare. Introducerea LITTLE în urmă cu câțiva ani, cel mai mare obiectiv pentru ARM a fost ca furnizorii SoC să ruleze CPU-urile eterogene cu un programator inteligent, care ar fi conștient de performanțele diferite ale procesorului și de caracteristicile sale energetice. Acesta a fost un obiectiv minunat de a avea, dar drumul de a ajunge acolo a fost, în opinia mea, nimic scurt de o mizerie. Abordarea ARM a fost aceea de a încerca să facă lucrul în kernel-ul Linux în amonte sau în nucleul grupului de lucru Linaro. Din păcate, de-a lungul anilor și întârzieri, o mulțime de hype că programarea conștientă de energie (EAS) ar aduce a ajuns cu un fizzle atunci când a venit la dispozitivele comerciale de transport maritim. Cred că Qualcomm a fost pe minge aici, chiar și așa cât mai curând 2015 pentru Snapdragon 810 și am abordat pe larg ceea ce compania încearcă să facă pentru a rezolva problemele legate de EAS.

O componentă cheie care permite planificarea pe procesoare eterogene este capacitatea planificatorului de a cunoaște efectiv activitatea și încărcarea sarcinilor individuale, în loc să cunoască doar utilizarea procesorului general. Dacă cunoașteți sarcina unei sarcini individuale, puteți face deciziile de planificare a aluatului pe care procesoare se corectează pentru ao plasa. Acest lucru a fost inițial implementat prin intermediul mecanismului PELT (urmărirea încărcării pe entitate) în kernelul Linux și este ceea ce a fost folosit pentru deciziile de migrare atât în ​​planificarea HMP, cât și în planificarea EAS.


Planul de planuri Exynos 9810. Image Credit TechInsights

Un alt obiectiv pe termen lung al Arm și al comunității Linux a fost să integreze logica selecției frecvenței procesorului în cadrul planificatorului, în loc să fie un mecanism separat. Acest lucru a fost inițial încercat într-un proiect numit schedfreq și este acum pe deplin integrat într-un nou guvernator numit progratil. Din nou, timpul de implementare despre care vorbim aici a fost de câțiva ani, în timp ce în același timp vedem că mai multe generații de dispozitive sunt livrate cu o mulțime de soluții.

Chipset-urile Exynos de la S.LSI o jucau în siguranță, iar până la Exnyos 9810, compania a ales să rămână la un programator HMP cu un regulator separat de frecvență CPU interactiv. Chipset-urile Huawei Kirin se livrează cu EAS, însă chiar și cu cele mai recente dispozitive, cum ar fi P20, compania renunță la regulatoarele de frecvență ale CPU-ului și se reîntoarce la una tradițională interactivă (cu rezultate foarte bune). Între timp, Qualcomm și-a dezvoltat implementarea personalizată și a luat o altă abordare denumită WALT (urmărirea încărcărilor asistate de ferestre), care este mult mai receptivă la PELT. Pe Snapdragon 835 și 845 acesta este mecanismul de bază care asigură cea mai bună performanță în ceea ce privește programarea și selectarea frecvenței procesorului.

Articolul original

În legătură cu o postare

Lasa un raspuns

Acest site folosește Akismet pentru a reduce spamul. Aflați cum sunt procesate datele despre comentarii.