Fórum Root.cz

Hlavní témata => Hardware => Téma založeno: Ħαℓ₸℮ℵ ␏⫢ ⦚ 30. 09. 2025, 22:52:29

Název: Zapnutí úsporných režimů pro NVMe
Přispěvatel: Ħαℓ₸℮ℵ ␏⫢ ⦚ 30. 09. 2025, 22:52:29
Jak zprovoznit na nvme disku  úspornější stavy? aby v idle neměl 85°C  ? a nebo jde o normální stav, když na phison E19 není chladič? Podle mého názoru to ty 3W nežere, ale spíš 1.5W-1W.
hlásí mi to toto
Kód: [Vybrat]
Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     3.70W  0.0000W       -    0  0  0  0     2500    2500
 1 +     3.70W  0.0000W       -    1  1  1  1     2500    2500
 2 +     3.70W  0.0000W       -    2  2  2  2     2500    2500
 3 -   0.4500W  0.0000W       -    3  3  3  3    25000   25000
proč 3 má mínus? jak to zapnu /povolím/přepnu?


v boot option mám pcie_aspm=on, (potvrzeno i v /sys/cmdline) ale  lspci -s 03: -vv hlásí
Citace
LnkCap: Port #1, Speed 16GT/s, Width x4, ASPM L1, Exit Latency L1 unlimited
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes, LnkDisable- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 8GT/s (downgraded), Width x4
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
dál jsem zkoušel (před přidáním aspm on) věci jako /sys/module/pcie_aspm/parameters/policy

Jak ty věci na sobě závisí? je zapnutý nebo jen povolený aspm podmínka pro nvme "PS"? které věci zafungují až po restartu akteré až ihned?
taky jsem četl option  něco jako `nvme_core.default_ps_max_latency_u, ale to je maximální hodnota(která je 100000 takže ok)  a já nebotřebuju limit latence snižovat.

2)zároveň jsem četl že aspm může způsobovat zámrzy a bugy nebo horší výkon u wifi karet
3) jde aspm zapnout jen pro určitá zařízení?
Název: Re:nejde pcie_aspm=on pro nvme lehčí stavy
Přispěvatel: RDa 30. 09. 2025, 23:18:17
PHISON ma fest zabugovane chipsety/firmware pro NVMe a nezvlada to nejnizsi power state.
Linux na to ma quirky, aplikuje se to pri natazeni nvme driveru.
Název: Re:nejde pcie_aspm=on pro nvme lehčí stavy
Přispěvatel: Ħαℓ₸℮ℵ ␏⫢ ⦚ 01. 10. 2025, 00:03:19
no, moc moudrý z toho nejsem. Zapomněl jsem připsat, že jsem ještě nezkoušel jinou hodnotu pcie_aspm=force
a je mi divné, proč se tedy chlubí spotřebouv mW tady -: https://ssd-tester.de/downloads/controller/Phison%20PS5019-E19T.pdf ( označení je  konkrétně PS5019-e19-35)
Název: Re:Zapnutí úsporných režimů pro NVMe
Přispěvatel: Hans.Wolfenstein 01. 10. 2025, 09:01:30
Všechny PHISON chipsety zabugované asi nebudou - provozuji Crucial T500 s chipsetem E25 a nějaký OEM přímo od PHISONu a problémy s tím zatím nejsou. Možná bude nějaký problém pouze u toho E19.

Př. Phison Electronics Corporation PS5027-E27T PCIe4 NVMe Controller (DRAM-less) v jednom mini PC

 LnkCap: Port #1, Speed 16GT/s, Width x4, ASPM L1, Exit Latency L1 unlimited
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 16GT/s, Width x4
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

Phison Electronics Corporation PS5027-E27T PCIe4 NVMe Controller (DRAM-less)

nvme-pci-e100
Adapter: PCI adapter
Composite:    +29.9°C  (low  =  -5.2°C, high = +82.8°C)
                       (crit = +86.8°C)
Sensor 1:     +29.9°C  (low  = -273.1°C, high = +65261.8°C)

Běží to pod Ubuntu 24.04 (6.14.0-29-generic)
Název: Re:Zapnutí úsporných režimů pro NVMe
Přispěvatel: xnd 01. 10. 2025, 11:15:53
ja pouzivam tento skript (upraveny pre moj system) na zapnutie ASPM pre vsetky PCIe zariadenia (mam to cez cron po boote) - https://gist.github.com/baybal/b499fc5811a7073df0c03ab8da4be904 / https://github.com/Mechitworks/Linuxscripts/blob/main/H610-ASPM.bash
 - na zaciatku skriptu je potrebne si nastavit spravne hodnoty pre premenne ROOT_COMPLEX a ENDPOINT

ale planujem vyskusat toto: https://github.com/notthebee/AutoASPM

takto mi klesla idle spotreba home servera:
 - https://user-images.githubusercontent.com/2448004/283563497-f69c13dc-c56e-40ea-bed0-be4d848e9711.gif z ~8W na ~2W
 -
Název: Re:Zapnutí úsporných režimů pro NVMe
Přispěvatel: RDa 01. 10. 2025, 14:44:54
Všechny PHISON chipsety zabugované asi nebudou - provozuji Crucial T500 s chipsetem E25 a nějaký OEM přímo od PHISONu a problémy s tím zatím nejsou. Možná bude nějaký problém pouze u toho E19.

Prave netykave Crucial T500 jsem resil (a krome toho i P310), bez tohoto to nefunguje a chcipa (resp. se neprobira):

Kód: [Vybrat]
+    { PCI_DEVICE(0xc0a9, 0x5415),   /* Crucial T500 2TB CT2000T500SSD8 P8CR002 */
+        .driver_data = NVME_QUIRK_NO_DEEPEST_PS, },

.. ale taky ze PCIe ASPM (vypinani pcie spojeni pro perifierie) je jina vec nez NVMe APST (uspavani radice v disku, obdoba SATA DEVSLP).
Název: Re:Zapnutí úsporných režimů pro NVMe
Přispěvatel: Ħαℓ₸℮ℵ ␏⫢ ⦚ 01. 10. 2025, 18:45:35
Tak jsem se do toho zakousl a něco zjistil. nvme getfeature neukazuje option 0xc (stav APST ) prostě je tam 0xb a 0xd jenom

ASPM je Disabled i přes pcie_aspm=force, případně setpci -s 3:0 0x40.b=0x43 a nvme reset /dev/...

možná je ASPM podružné a fakt hraje roli APST.
 

Ale to hlavní:
triviálním skriptem while true , sleep 1 , nvme set feature -f 0x2 -V 3 , done  >/devnyll & jsem docílíl snížení spotřeby z 7.9W na 7.1W a teploty   o 9 stupnu ... možná si řeknete necelý watt, ale pro nechci u nonstop disku mít nad 70 stupnů
2: get feature 0x2 hlásí stav 2 nebo 3. bez skriptu vydrží 3 pár sekund.
----> proč se opět nevrátí disk to stavu 3?? tabullka stavů je nahoř.

 ale ... myslím že to není pravé ořechové.... a něce se tam pere. a stále ASPM disabled v lscpit linkCTL.

(linkcap hlasí ASPM L1, exit unlimited a  L1subcap PCI-PM1.1 a 1.2 a ASPM 1.2 a 1.1 s plusy)

takže mě napadá, není v proxmoxu něco, co furt šashá nadisk. je to čistá instalace nic tam není přidané.
Název: Re:Zapnutí úsporných režimů pro NVMe
Přispěvatel: RDa 01. 10. 2025, 18:59:13
takže mě napadá, není v proxmoxu něco, co furt šashá nadisk. je to čistá instalace nic tam není přidané.

Tim jsi mel zacit. VM neni power saving friendly, at uz na strane hostu nebo guesta.

Co je to za desku a disk ?
Název: Re:Zapnutí úsporných režimů pro NVMe
Přispěvatel: Ħαℓ₸℮ℵ ␏⫢ ⦚ 01. 10. 2025, 23:06:48
nějaký board s intel n100, 
disk je 1e95:100b (nenašel jsem id na netu, ale SSSTC  SSSTC  XB2-311024 , možná odpovídá  CL.1 / CL.4 na webu).

co jsem zkoušel: echo y > /sys/module/nvme_core/parameters/force_apst -nic neudělá  (je třeba nutné to mít v boot params, po bootu není už pozdě a nebo je potřeba udělat něco jako reset pcie sběrnice,což nevím jak se dělá)
v biosu nic kolem aspm nenašel

a co jsem zjistil teď: v dmesg
 PCIe ASPM is forcibly enabled (sice hezké, ale proč u všech pcie zařízení je disabled
 nvme 0000:03:00.0: platform quirk: setting simple suspend ----tohle asi je zakopaný pes, vůbec nevím, ale zda tyhle quirky jsou někde definované podobně jako v sysctl.conf nebo modules nebo blacklist a zda nějak mohu udělat override
většina nvme (ssd) quierků se týká uspání+probuzení (hřeje po uspání nebo zmizí po probuzení), což tady(suspend) se nebude dít


běží tam taky @nvme_fabrics (nebo neběží? načten modul nvme_fabrics,ale zastavena služba nvme_fabrics)

takže resumé je, že sice se do stavu PS3 dostanu a je viditelné snížení teploty (když to běží každé 2 s lepší než každých 5s a ještě lepší než vůbec), ale jen ručně. disk vstává do PS0 nebo PS1 nebo PS2 (podle toho, který set-feature zavolám, podobně jako setfeature 0x02 3 pro ps 3)... čili, stavy 0,1,2 "to umí držet" pomocí set feat 0x02, ale 0x02=3 to nastaví jen dočaasně
a taky je divné že chybí ten 0xC (APST)
Název: Re:teploty pro NVMe
Přispěvatel: Ħαℓ₸℮ℵ ␏⫢ ⦚ 01. 10. 2025, 23:14:58
a prakticky: je už 49°C pro flash čip a 64°C pro controller OK pro nonstop provoz? Bez setfeature 0x02=3 každé 2 jsou teploty o 8-10°C jsou vyšší (vliv 800mW !!!)
Název: Re:teploty pro NVMe
Přispěvatel: CPU 01. 10. 2025, 23:21:16
a prakticky: je už 49°C pro flash čip a 64°C pro controller OK pro nonstop provoz?

Jinak položená otázka:
Maximální teplota kontroléru je v plné zátěži a po 15ti minutách 64°C, je to ok?
To by odpověď zněla, že to je naprosto v cajku.

Ale při běžném provozu ne, optimální teploty jsou pod 50°C.
Při teplotě 70°C už disky začínají zpomalovat a výrobce ví moc dobře proč.
Pokud je teplota pod běžnou zátěží 64°C na kontroleru, tak při zvýšení zátěže to určitě začne zpomalovat a to fakt není dobře.
Obvykle stačí přidělat pasiv, pokud není dobrý tok vzduchu, tak i fučák.
Název: Re:Zapnutí úsporných režimů pro NVMe
Přispěvatel: Ħαℓ₸℮ℵ ␏⫢ ⦚ 02. 10. 2025, 00:23:10
podmínky: jde o uplně idle stav. je tam přidělný heatsink. teplota je 55-70 (flash,controler a bez skriptu pro periodické PS3) , před heatsinkem  to bylo 82/6x. šílené.
(stačí malý větráček a dalších 5stupnu dole.)

ASPM:
Další věc: správné zaklínadlo je setpci  -s 03: 0x??=0x43 ...kde ??  se vypočte funny  (https://wireless.docs.kernel.org/en/latest/en/users/documentation/aspm.html#how-to-read-the-link-control-register-for-aspm)způsobem... 
setpci -s 3: 0x90.b=0x43 a setpci -s 1d.0 0x50.b=0x43
ale nemají se provést nejaké resety?

čili se mi podařilo zprovoznit ASPM, hlásí to L0,L1... Ale  k če mu to? co dál?? magicky apst není povoleno,  teploty stejné, 0xc option se nezjevila, čili žádný posun


ááááá)  jestli to co píše xnd, tak se to musí dělat nějak okultně přes efi skript....
Název: Re:Zapnutí úsporných režimů pro NVMe
Přispěvatel: CPU 02. 10. 2025, 00:47:58
Na NVMečkách mám teploty pod 40°C v idle a 60°C v plné zátěži !!!

Ale už se mi stalo, že jsem koupil vážně hřejivé SSD pro PCIe 5.0 (že sice nepotřebuji PCIe 5.0, ale myslel jsem si, že rychlosti budou lepší). No a to topilo i v idle jako **** a horký to bylo i s chladičem....tak letěl.

Pokud je chladič doplněk, aby se to lépe chladilo, tak super. Ostatně čipy jsou malé a teplo je šikovné rozvést.
Ale pokud je chladič takový rovnák na ohýbák, kdy se to bez něj samo na normální teploty neuchladí skoro ani v IDLE, tak je něco brutálně špatně.

Ve zkratce, pokud je to horké už v IDLE, měl bys uvažovat o výměně disku.

EDIT: Taky je možné, že ten disk něco interně vytěžuje. Ale to by mělo po pár hodinách ustat. Mizerné disky mají SLC cache uvnitř QLC, takže se primárně zapisuje do cache, aby se data pak odstěhovala do QLC buněk pomalou rychlostí. Takové SSD může topit i dost dlouho, kdy do něj "vlastně nic neteče". Takové SSD je nejspíš šmejd, ale zase to je jeho vlastnost než chyba...