processor.max_cstate FAIL

Az új gépemnél (Thinkpad X200 tablet) sajnos jelentkezett a Thinkpadeknél és más gépeknél is ismert "CPU whine", vagyis az a jelenség, hogy a gépből bizonyos körülmények között zúgó, zizegő hang hallatszik.

Tudtommal az okozza, hogy a processzor ide-oda ugrál a különböző teljesítményfelvételű állapotok (C-states) között, ami az alaplapon lévő tekercseken egy kvázi-periodikus jelet generál, amitől azok fizikailag rezegni kezdenek.

Hardveres megoldás van rá, de az nyilván garanciavesztéssel jár.
Egyébként pedig azt szokták javasolni, hogy le kell tiltani a C3-nál magasabb energiatakarékos állapotokat. Ennek a legegyszerűbb módja az (volt), hogy

echo 2 > /sys/module/processor/parameters/max_cstate

A módszer hátránya, hogy nagyobb fogyasztással jár.

Ezen a gépen akkor igazán idegesítő a cincogás, ha külső tápról megy. Ekkor a C4-es állapotot használja leggyakrabban.
Ha elemről megy, akkor a C6-osat, és ekkor csak egy egészen halk zizegés hallatszik, amit bőven elnyom a HDD zaja.

Zseniális tervet agyaltam ki hát:
módosítom a scriptet (/etc/acpi/power.sh), amit az ACPI meghív a táp fel/lecsatlakoztatásakor, hogy írjon 2-t a fenti fájlba, ha rádugom a töltőt, és írja vissza 6-ra, ha lehúzom.

Igenám, de szembesültem vele, hogy a modern kernelekből, ki tudja, miért, hiányzik a sysfs interface a fenti opcióhoz.

Boot-kor meg lehet adni a kernelnek, de úgy tűnik, futás közben már nem lehet módosítani.

Szar ügy, mert így legalább 2 wattal több az idle fogyasztás, vagyis sokkal kevesebb az akkuidő. De inkább az akkut gyilkolja, mint a fülemet.

Hozzászólások

Ha valaki tud megoldast arra, hogy menet kozben lehessen modositani ujabb kerneleknel is, az ne tartsa magaban :)

2.6.24 kernel forrasban en ugy latom, hogyha CONFIG_CPU_IDLE engedelyezve van, akkor ez a cstate nem elerheto. forgass uj kernelt amiben ez a cpuidle ki van kapcsolva.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

A kedvedért indítottam Windowst, és hát ott is zümmög :) (pontosabban :( ).

Az aksiidő sem sokkal jobb. Most kb. 50%-os a töltöttsége, a Windows 4:15-öt írt, az Ubuntu 3:40-et.

Persze nem mondom, hogy nem bánom a dolgot. Ha ez meg az ujjlenyomat-olvasó működne, akkor nem lenne vele semmi gond.