Linux: Új CPU frekvencia kód

Címkék

Dominik Brodowski nekiállt írni egy új CPU frekvencia szabályzó alrendszert, amelyet Linus beintegrált a 2.5.40-es verziójú Linux kernelbe. Ez a kód lehetővé teszi, hogy a CPU(k) frekvenciáját "user-space", azaz felhasználói szinten állítani tudjuk. Természetesen csak azoknál a processzoroknál lehetséges ez, amelyek támogatják ezt a funkciót.

Valaki csodálkozhat azon, hogy miért jó az, ha egy CPU-t a névleges frekvenciája alatt akarunk hajtani. Ennek mi értelme? Tehetné fel bárki a kérdést. Hiszen így lassabb lesz a gép. Az ok az lehet, hogy csökkentsük a processzor által felemésztett energia mennyiségét, azaz takarékoskodjunk az energiával. A másik ok a hőmérséklet szabályozás lehet. A gyorsabb CPU több energiát fogyaszthat. Ha például a notebookodat használod egy repülőgépen, akkor nem biztos, hogy az a célod, hogy titkosított kulcsokat törjél fel, vagy éppen megdöntsd a kernelfordítás világrekordját. Viszont lehet, hogy azt akarod, hogy a processzor lassuljon le egy kicsit, hiszen a sebesség ilyenkor nem a legfontosabb tényező, viszont sokat számít ha a notebook tovább bírja energiával. A másik dolog pedig akkor jöhet szóba, ha a processzor érzékeli, hogy túlmelegedett, és ezért veszi vissza a sebességet, a saját védelme érdekében.Jelenleg több modern processzor is támogatja ezt a frekvencia szabályozási funkciót. Ha a processzor érzékeli, hogy egy ideje üresben jár (idle), akkor elvárható tőle, hogy lassuljon le. Viszont ha az szükséges, akkor önmagától tudjon "felpörögni" újra.

Szóval nem lenne baj, ha lehetne a CPU sebességét valamilyen módon változtani, vagy ezt a dolgot rá lehetne bízni valahogy az operációs rendszerre. A CPU frekvencia kód a 2.5.40 kernelbe lett beolvasztva. Ez lehetővé teszi a felhasználóknak, hogy egy skálán mozogva állítani tudják a CPU frekvenciáját és megfelelő CPU használati policy-t ki tudjanak választani. Ha a felhasználó a "teljesítmény" policy-t választja, akkor a processzor értesítést kap arról, hogy a teljesítményének a felső sávjában kell futnia, és ha le akar lassulni, akkor azt lehetőleg fokozatosan tegye. Ha a felhasználó az "energiatakarékos" üzemmódot választja, akkor a sebességet tartsa lehetőleg alacsonyan, és inkább az akkumulátor energiájával takarékoskodjon. Összegezve, az új felület, egy irányitó, szabályozó eszközt ad a felhasználó kezébe, amellyel be tud avatkozni a rendszere működésébe. Természetesen ez a felület el van kódolva a /proc filerendszerben, amit egy "mezei" felhasználó nem biztos, hogy tud vagy akar "echo" parancsokkal állítgati. Ezért erősen valószínű, hogyel fognak terjedni a KDE és a GNOME alkalmazások, appletek, amelyekel ezt a funkciót tudjuk majd irányítani.

Jelenleg a beolvasztott kód csak az i386 architektúrát támogatja. A kód elérhető lesz több más processzorhoz is a jövőben.

Hogy is működik ez? Valahogy így:

root@notebook:#echo -n "0:0:0:powersave" > /proc/cpufreq


root@notebook:#echo -n "1%100%100%performance" > /proc/cpufreq


root@notebook:#echo -n "1000000:2000000:performance" > /proc/cpufreq

Bővebb infóért nézd meg a Documentation/cpufreq -t a 2.5.40 kernelforrásban.

Hozzászólások

Ez egy hasznos cucc... elvégre szervereknél sem kötelezõ mindig max. -on futtatni a procit... :) Vagy ha letölt az ember... :)