A Linux kernel többek közt úgy próbál meg takarékoskodni az energiával, hogy megállítja a processzort, ha annak nincs munkája. A processzor ``alvási'' állapota rapszodikus lehet, mert ha a processzor éppen pihen, a timer interrupt (időzítő megszakítás) akkor is ``felkelti'' minden 1/1000 - 1/100 másodperc időben. George Anzinger készített egy Variable Scheduling Timeouts (VST) patchet, amely megpróbálja megszűntetni ez a nemkívánatos működést. Ezt úgy teszi, hogy eltávolítja a timer interrupt-ot, ha annak nincs dolga.
A kernel timer interrupt (időzítő megszakítás) biztosítja a kernel számára, hogy követhető legyen az eltelt idő azáltal, hogy frissíti (növeli) a jiffie-k értékét (jiffie-nek nevezik a Linuxban az egy processzor órajelnyi (processor tick) időt. egy jiffie (i386) általában 1/100 másodperc, kivéve Alpha platformon, ahol 1/1024 másodperc), és ezen kívül egyéb a kernel háztartásbeli és process accounting funkciókért felelős. Amikor a timer interrupt feldolgozásra kerül, akkor a kernel periodikusan ellenőrzi a timer listát, hogy lássa ha valamelyik kernel timer lejárt (expired). Ha valamelyik timer expired állapotban van, akkor a kernel meghívja a hozzá tartozó funkciót. A kernel timer-ek az egyik olyan mechanizmusai a Linux kernelnek, amelyek arra használhatók, hogy a jövőben elvégzendő munkát ütemezzünk. Futó processzek hiányában az egyetlen dolog amit el kell végezni az timer interrupt-ban, a timer lista karbantartása. Ha nincsenek futó processzek, akkor a VST patch a következőt teszi: egy idle taskot idéz elő, amely ellenőrzi a timer listát, és megakadályozza a timer interrupt bekövetkeztét, ha a listán nincsenek olyan timerek, amelyek a következő timer tick-ben járnak le.
Amikor a rendszer idle állapotban van, és nincsenek futtatandó aktív taskok, de mondjuk egy hardveres megszakítás érkezik, akkor az megváltoztatja a helyzetet. Ebben az esetben a patch az alacsony szintű megszakítás-kezelő kódhoz fordul, hogy újra engedélyezze a timer interrupt-ot.
A patch előnye tehát az, hogy energiát takaríthatunk meg azzal, hogy a rendszer hosszabb időn keresztül tud pihenni, ha a idle állapotban van. Azzal, hogy eltávolítjuk a szükségtelen timer interrupt-okat, a processzor tovább maradhat ``alvó'' állapotban. Ennek a dolognak az akkumulátorral hajtott számítógépek tulajdonosai minden bizonnyal örülni fognak.
George Anzinger bejelentése itt.