Az alapértelmezett Hz érték megváltoztatása

Címkék

Az LKML-en újra előjött a kernel alapértelemezett timer frekvenciájának kérdése.

A 2.4-es Linux kernelben az alapértelemezett timer interrupt frekvencia 100 Hz (x86). A 2.5-ös kernel fejlesztésének idején Linus ezt 1000 Hz-re változtatta, és ez is maradt a default a 2.6-ban is.

A timer interrupt a rendszer lelke. Minden ennek függvényében jön létre vagy szűnik meg a kernelben. Ez a periódus a rendszer ``finomságának'' mértékegysége. A timerek 1/1000 másodpercenként bukkannak fel, az időszeletek (timeslices) 1/1000 másodpercenként válnak esedékessé, stb.

A magasabb frekvenciának pozitív és negatív oldalai is vannak. Kedvez a multimédia alkalmazásoknak, hiszen jobb lesz a rendszer válaszadási képessége, viszont a megnövekedett timer overhead a régebbi gépeken lassuláshoz vezet. Szintén nem kedvez a magas Hz érték a laptopok akkumulátoron töltött idejének (egyes mérések szerint akár felére is csökkenthet az elemidő) és a szerverek is jobban érzik magukat, ha ez az érték alacsonyabb.Andrew Morton korábban a 2.6.13 várható újdonságai között említette a Kconfig-on keresztül változtatható alapértelemezett Hz értéket. Az elképzelés szerint az alapértelmezett Hz érték a jövőben 250 lenne, de a kernel fordítása előtt lehetne választani 100 és 1000-es értéket is.

(a 2.6.13-rc2-ben már így van:

Processor type and features --->

Timer frequency (250 HZ) --->

( ) 100 HZ

(X) 250 HZ

( ) 1000 HZ)

Alan Cox szerint ezzel a probléma még nincs teljesen megoldva, mert szerinte a 100 Hz jó a power management-hez és a régebbi gépeknek, a 250 Hz túl gyors néhány laptopnak és az energia gazdálkodáshoz, viszont túl lassú néhány multimédia felhasználónak.

Nem ez az első eset, hogy a fejlesztők megpróbálják megtalálni a megfelelő Hz értéket. Tavaly év végén Andrea Arcangeli készített egy patchet, amellyel boot időben lehetett változtatni a Hz értékét. 2003-ban szintén volt erre próbálkozás.



A KernelTrap cikke itt.

Hozzászólások

Hehe, most arra gondoltam, mi lenne ha Rendmond is ezen gyötrődne. Ők okosabbak: ez van, ezt köll szeretni....

De mi az oka, hogy nem lehet finomabban állítani, miért csak három értek van?

Nem volt veletlenul valahol egy elkepzeles/patch (ugy remlik lattam ilyet) ami pont azt celozza meg hogy viszonylag magas (pl 1000) erteknel is lehetoseg van arra, hogy "kimaradjon" par timer interrupt, ha a kernel "szerint" elotte X ideig nem nagyon tortent ugyse semmi. Mert igazabol a fix ertek az sose lesz teljesen jo, a kulonbozo latency-k minimalizalasa miatt - foleg ujabb hw-eken - az 1000 az nem rossz, csak tenyleg azt kene megoldani hogy ne szenvedjen ezzel szegeny gep amikor ugy se csinal semmit eppen kvazi. Es lassabb gepeken meg mindig vissza lehetne eleve venni akar 100-ra is, ha a nagyobb hz ertek overhead-je ezt indokolta teszi ...