{"id":15,"date":"2007-07-06T19:30:49","date_gmt":"2007-07-06T17:30:49","guid":{"rendered":"http:\/\/nike.users.paivola.fi\/blag\/?p=15"},"modified":"2007-07-06T19:30:49","modified_gmt":"2007-07-06T17:30:49","slug":"virransaastoa-ja-kasittamatonta-saatoa","status":"publish","type":"post","link":"https:\/\/laxstrom.name\/blag\/2007\/07\/06\/virransaastoa-ja-kasittamatonta-saatoa\/","title":{"rendered":"Virrans\u00e4\u00e4st\u00f6\u00e4 ja k\u00e4sitt\u00e4m\u00e4t\u00f6nt\u00e4 s\u00e4\u00e4t\u00f6\u00e4"},"content":{"rendered":"<p>Nyt kun Intelin heppu julkaisu kivoja <a href=\"http:\/\/ww.linuxpowertop.org\/results.php\">graafeja<\/a> niin voinkin julkaista t\u00e4m\u00e4n postauksen tekem\u00e4tt\u00e4 niit\u00e4 itse. Alla on siis k\u00e4sitt\u00e4m\u00e4t\u00f6nt\u00e4 vuodatusta kaikenkarvaisilla suomenkielisill\u00e4 termeill\u00e4, joita on h\u00f6ystetty kirjoitusvirheill\u00e4. Toisin sanoen siit\u00e4 ei varmaan ota Erkkik\u00e4\u00e4n selv\u00e4\u00e4.<\/p>\n<hr \/>\n<p>Koska Gentoossani ei vaihteeksi ollut mit\u00e4\u00e4n s\u00e4\u00e4dett\u00e4v\u00e4\u00e4, piti keksi\u00e4 jotain uutta. Sopivaksi aiheeksi l\u00f6ytyi virrans\u00e4\u00e4st\u00f6. T\u00e4ss\u00e4 tuleekin tietoa virrans\u00e4\u00e4st\u00f6tavoista helpoista vaikeampiin k\u00e4ytt\u00e4en esimerkkin\u00e4 omaa kannettavaani TP R52:ta.Alla on oletettu ett\u00e4 k\u00e4yt\u00f6ss\u00e4 on ydin 2.6.21. Osa toimii vanhemmallakin.<\/p>\n<h2>Helppoja peruskeinoja<\/h2>\n<p><strong>N\u00e4yt\u00f6n taustavalon<\/strong> kirkkauden s\u00e4\u00e4t\u00e4minen pit\u00e4isi onnistua suoraan n\u00e4pp\u00e4imist\u00f6lt\u00e4. Helppo, mutta joskin ymp\u00e4ristosidonnainen tapa s\u00e4\u00e4st\u00e4\u00e4 v\u00e4h\u00e4n virtaa. Enemm\u00e4n virtaa s\u00e4\u00e4styy, kun n\u00e4yt\u00f6n sammuttaa kokonaan, joten kannattaa heitt\u00e4\u00e4 hyv\u00e4sti n\u00e4yt\u00f6ns\u00e4\u00e4st\u00e4jille niiden alkuper\u00e4isemm\u00e4ss\u00e4 merkityksess\u00e4.<\/p>\n<p><strong>Langattoman laitteet<\/strong> kannattaa ottaa pois k\u00e4yt\u00f6st\u00e4, kun niit\u00e4 ei tarvita. R52:ssa ainakin BlueToothin saa pois suoraan n\u00e4pp\u00e4imist\u00f6lt\u00e4. Muissa laitteissa sama voi onnistua my\u00f6s wlanille. Saman asian voi yleens\u00e4 hoitaa ohjelmallisestikin.<\/p>\n<h2>Peruskeinoja, joiden kannattaa tarkistaa toimivan<\/h2>\n<p>Suoritin on yksi pahimmista virtasy\u00f6p\u00f6ist\u00e4 n\u00e4yt\u00f6n kanssa. Toisin kuin n\u00e4ytt\u00f6jen, suorittimien virrankulutusta voi hallita useammalla eri tavalla. Yleens\u00e4 mit\u00e4 uudempi suoritin, sit\u00e4 enemm\u00e4n tai paremmin se tukee eri tapoja.<\/p>\n<p>T\u00e4rkein tapa on <strong>kellotaajuuden laskeminen<\/strong>, kun suoritinta ei k\u00e4ytet\u00e4. T\u00e4m\u00e4 onnistuu automaattisesti CPU Frequency Governorilla eli <strong>suorittimen suorituskykyprofiililla<\/strong>. Profiilin valinta onnistuu useimpien ty\u00f6p\u00f6ytien virrans\u00e4\u00e4st\u00f6sovelmilla, laptop-modella tai k\u00e4sin. Intelin suorittimien kanssa on suositeltavaa k\u00e4ytt\u00e4\u00e4 <tt>ondemand<\/tt>-profiilia. AMD:n prosessoreilla <tt>conservative<\/tt> saattaa olla parempi.<\/p>\n<p><small>Ytimen versioilla \u22642.6.21 <tt>ondemand<\/tt>-profiilia k\u00e4ytett\u00e4ess\u00e4 kannattaa suorittaa seuraavat komennot, jotta profiili ei aiheuttaisi turhia keskeytyksi\u00e4 (keskeytyksist\u00e4 lis\u00e4\u00e4 alempana).<\/small><\/p>\n<pre><small>cd \/sys\/devices\/system\/cpu\/cpu*\/cpufreq # tarkka polku voi hieman vaihdella\r\ncat ondemand\/sampling_rate_max > ondemand\/sampling_rate<\/small><\/pre>\n<p>T\u00e4m\u00e4n R52:n Pentium M suoritin saa suurimmalla nopeudella (1866 MHz) 1.372 V ja pienimm\u00e4ll\u00e4 (800 MHz) 0.988 V.<\/p>\n<p>Lis\u00e4ksi suoritin voi tukea throttling eli <strong>hidastustiloja<\/strong>. Verrokkisuoritin tukee kahdeksaa tilaa, joilla suoritinta voi k\u00e4ske\u00e4 suorittamaan tyhj\u00e4\u00e4 jopa 87 % ajasta. Hidastuksella ei juurikaan virtaa s\u00e4\u00e4stest\u00e4, joten sen hy\u00f6ty onkin l\u00e4hinn\u00e4 l\u00e4mp\u00f6tilan laskeminen. Liian suuri l\u00e4mp\u00f6tila voikin laukaista pakotetun hidastustilan, joka ohittaa kaikki k\u00e4ytt\u00e4j\u00e4n m\u00e4\u00e4rittelem\u00e4t asetukset.<\/p>\n<h2>Vipuja ja maagisia komentoja<\/h2>\n<p>Linuxissa l\u00f6ytyy paljon vipuja, jotka vaikuttavat virrans\u00e4\u00e4st\u00f6\u00f6n. Koska laptop-mode on kiva kokonaisuus, kannattaa sit\u00e4 k\u00e4ytt\u00e4\u00e4 ensisijaisesti. Laptop-modella voi tarkoittaa kahta asiaa. Ensimm\u00e4inen on ytimen ajonaikainen asetus, joka kasaa levynk\u00e4ytt\u00f6tapahtumia, ja suorittaa ne sitten kaikki kerralla, jotta levyn ei tarvitsisi py\u00f6ri\u00e4 koko ajan. Toinen merkitys on ohjelma, jolla voi asettaa t\u00e4m\u00e4n vivun p\u00e4\u00e4lle ja hallita siihen liittyvi\u00e4 ja muitakin asetuksia. Useimmille asetuksille voi m\u00e4\u00e4ritell\u00e4 eri arvoja riippuen ollaanko verkkovirrassa vai ei. Alla on selitetty muutamia levyihin liittyvi\u00e4 asetuksia, jotka eiv\u00e4t tule muualla esille. Kannattaa tutustua rauhassa tiedostoon <tt>\/etc\/laptop-mode\/laptop-mode.conf<\/tt>.<\/p>\n<p>Readahead eli ennakkoluku(?) m\u00e4\u00e4rittelee paljonko k\u00e4ytetyist\u00e4 tiedostoista luetaan muistiin. Suurempi arvo voi auttaa esimerkiksi musiikin kuuntelussa tai elokuvien katselussa. Kannattaa asettaa koneen sis\u00e4lt\u00e4m\u00e4n muistim\u00e4\u00e4r\u00e4 mieless\u00e4.<\/p>\n<p>Noatime eli tiedostojen k\u00e4ytt\u00f6aikojen kirjaamatta j\u00e4tt\u00e4minen on k\u00e4tev\u00e4 asetus, joka v\u00e4hent\u00e4\u00e4 levylle kirjoittamista. Suurin osa ohjelmista toimii ilman t\u00e4t\u00e4 asetusta, joten sen voikin laittaa esimerkiksi suoraan <tt>fstab<\/tt>iin.<\/p>\n<p>Levyn virrans\u00e4\u00e4st\u00f6asetuksia voi valita kuinka aggressiivisesti levy sammuu, kun sit\u00e4 ei k\u00e4ytet\u00e4. Liian pieni arvo aiheuttaa jatkuvaa p\u00e4\u00e4lle-pois-rumbaa, joka kuluttaa levy\u00e4 turhaan.<\/p>\n<p>Muita satunaisia vipuja alla.<\/p>\n<h3>Atin tai AMD:n n\u00e4yt\u00f6nohjain<\/h3>\n<p>Fglrx-bin\u00e4\u00e4riajuria k\u00e4ytett\u00e4ess\u00e4 (sallitut arvot n\u00e4kyy <tt>--help<\/tt>ill\u00e4):<br \/>\naticonfig &#8211;set-powerstate=1 &#8211;effective=now<\/p>\n<p>Avoimilla ajureilla X:n asetuksissa <tt>Option \"DynamicClocks\" \"true\"<\/tt> <em>saattaa<\/em> auttaa.<\/p>\n<p>TP:ill\u00e4 seuraavilla komennoilla voi olla tai voi olla olematta vaikutusta<\/p>\n<pre>echo crt_disable > \/proc\/acpi\/ibm\/video\r\necho dvi_disable > \/proc\/acpi\/ibm\/video<\/pre>\n<h3>Langaton verkkokortti<\/h3>\n<p>Ainakin IPW2200 ja ilmeisesti my\u00f6s osalla muistakin korteista voi hallita virrans\u00e4\u00e4st\u00f6.<br \/>\nArvo 5 s\u00e4\u00e4st\u00e4\u00e4 virtaa viel\u00e4 enemm\u00e4n kuin 7. (miss\u00e4 selitetty?)<br \/>\n<tt>iwpriv eth1 set_power 7<\/tt><\/p>\n<h2>Keskeytysten eliminoiminen<\/h2>\n<p>Oikeasti suuret virrans\u00e4\u00e4st\u00f6t tulevat, kun suoritin ei tee mit\u00e4\u00e4n ja menee syv\u00e4\u00e4n unitilaan. T\u00e4m\u00e4 kysymys tuli olennaisesti oikeastaan vasta 2.6.21:n my\u00f6t\u00e4, kun ytimeen lis\u00e4ttiin ominaisuus, jonka valitsemalla voi poistaa s\u00e4\u00e4nn\u00f6lliset keskeytykset, joita ei tarvita. Ominaisuus l\u00f6ytyy t\u00e4ll\u00e4 hetkell\u00e4 x86:lle, mutta se tekee tuloaan my\u00f6s x86_64-arkkitehtuurille. Erilaiset keskeytykset her\u00e4tt\u00e4v\u00e4t suoritinta yleens\u00e4 turhankin tihe\u00e4\u00e4n. Powertop [http:\/\/linuxpowertop.org] on ohjelma, jolla n\u00e4it\u00e4 ohjelmia voi paikallista. Lis\u00e4ksi sivuilla koottu listaa tuhmista ohjelmista ja mit\u00e4 niille voisi tehd\u00e4. Todenn\u00e4k\u00f6isesti ydin pit\u00e4\u00e4 k\u00e4\u00e4nt\u00e4\u00e4 uudestaan sopivilla vivuilla, ett\u00e4 Powertop osaisi mit\u00e4\u00e4n n\u00e4ytt\u00e4\u00e4. Ohjelma osaa lis\u00e4ksi n\u00e4ytt\u00e4\u00e4 muitakin vinkkej\u00e4, kuten esimerkiksi AC97-\u00e4\u00e4nikortin laittamisen virrans\u00e4\u00e4st\u00f6tilaan.<\/p>\n<p>Atin \u2013 k\u00f6h \u2013 AMD:n kortten ajurit aiheuttavat keskeytyksi\u00e4 n\u00e4yt\u00f6n virkistystaajuuden mukaan. Viel\u00e4 ei ole julkaistu ajureita, joissa turha keskeytys olisi poissa, kun sit\u00e4 ei tarvita, mutta ainakin semmoinen on tulossa avoimiin ajureihin joskus.<\/p>\n<h2>TP-kannettavien tuulettimien hallinta<\/h2>\n<p>Monien, mutta ei kaikkien, TP-kannettavien tuuletinta voi hallita ohjelmallisesti, joka onkin tervetullutta, koska normaalisti tuuletin k\u00e4ytt\u00e4ytyy l\u00e4hinn\u00e4 aivokuolleesti. Hallintaan tarvitaan moduuli, joka on ytimen versiossa \u22642.6.21 nimelt\u00e4 <tt>acpi_ibm<\/tt> ja uudemmissa <tt>thinkpad_acpi<\/tt>. Niin ik\u00e4\u00e4n ytimen versiossa \u22642.6.21 se tarvii ladata parametrilla <tt>experimental=1<\/tt> ja uudemmissa <tt>fan_control=1 experimental=1<\/tt>.<br \/>\nItse k\u00e4yt\u00e4n <tt>tp-fancontrol<\/tt>-komentosarjaa [http:\/\/www.thinkwiki.org\/wiki\/Talk:Code\/tp-fancontrol] tuulettimen hallintaan. Suoritin k\u00e4y keskim\u00e4\u00e4rin hitaammin, eli on hiljaisempi.<\/p>\n<h2>Undervolting eli j\u00e4nnitteen alentaminen<\/h2>\n<p>Pentium M -suorittimien j\u00e4nnitett\u00e4 voi alentaa ohjelmallisesti. Se onnistuu my\u00f6s 2.6.21-ytimell\u00e4 ja phc-lisukkeella, mutta alla on k\u00e4ytetty uudempaa vanilla 2.6.22_rc6-ydint\u00e4, johon on laitettu k\u00e4sin Gentoo-paikat [http:\/\/dev.gentoo.org\/~dsd\/genpatches\/trunk\/], phc [https:\/\/www.dedigentoo.org\/bdz\/linux-phc\/linux-phc-0.3.0-pre1.tar.gz] ja hrt [http:\/\/tglx.de\/projects\/hrtimers\/].<br \/>\nKirjoitushetkell\u00e4 2.6.22_rc7 on jo julkaistu, mutta kaikkia paikkatiedostoja ei viel\u00e4 ole saatavilla sille.<\/p>\n<p>Seuraavaksi siirrymme jo tuttuun paikkaan:<\/p>\n<pre>\/sys\/devices\/system\/cpu\/cpu*\/cpufreq<\/pre>\n<p>Olennaisia tiedostoja ovat <tt>phc_vids<\/tt> ja <tt>phc_default_vids<\/tt>. Volttim\u00e4\u00e4r\u00e4 lasketaan kaavalla <tt>X = 700 mV + Vid*16 mV<\/tt>. Nyt olennaisinta onkin keksi\u00e4 mill\u00e4 arvoilla kone toimii viel\u00e4 vakaana. Itse k\u00e4ytin voltage-ramp-down.sh-komentosarjaa [http:\/\/gentoo-wiki.com\/HOWTO_Undervolt_a_Pentium_M_CPU#Finding_the_lowest_voltages_before_the_CPU_freeze], joka tosin on vain 2.6.21-ytimelle. Pienill\u00e4 muutoksilla se varmaan toimii uudenkin kanssa. Ajoin cpuburnia taustalla, ja 30 s kellotaajuutta kohden, kunnes l\u00f6ytyi ensimm\u00e4inen ep\u00e4vakaa arvo. Sitten otin toiseksi viimeisen \u201drivin\u201d, jolla kaikki kellotaajuudet olivat olleet vakaita. Tietysti jokainen kellotaajuus kannattaa testata erikseen, jos haluaa oikein alas.<\/p>\n<h2>Viimeiset irti<\/h2>\n<p>Edellisess\u00e4 kohdassa mainittu hrt tuo my\u00f6s uuden vaihtoehtoisen ns. ladderin eli ohjelman, joka laittaa suorittimen eriasteisiin virrans\u00e4\u00e4st\u00f6tiloihin. Uuden <tt>menu<\/tt>-ladderin pit\u00e4isi korjata tilanne, jossa suoritin ei k\u00e4yt\u00e4 virrans\u00e4\u00e4st\u00f6tiloja tehokkaasti, kun keskeytyksi\u00e4 on hyvin v\u00e4h\u00e4n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nyt kun Intelin heppu julkaisu kivoja graafeja niin voinkin julkaista t\u00e4m\u00e4n postauksen tekem\u00e4tt\u00e4 niit\u00e4 itse. Alla on siis k\u00e4sitt\u00e4m\u00e4t\u00f6nt\u00e4 vuodatusta kaikenkarvaisilla suomenkielisill\u00e4 termeill\u00e4, joita on h\u00f6ystetty kirjoitusvirheill\u00e4. Toisin sanoen siit\u00e4 ei varmaan ota Erkkik\u00e4\u00e4n selv\u00e4\u00e4. Koska Gentoossani ei vaihteeksi ollut mit\u00e4\u00e4n s\u00e4\u00e4dett\u00e4v\u00e4\u00e4, piti keksi\u00e4 jotain uutta. Sopivaksi aiheeksi l\u00f6ytyi virrans\u00e4\u00e4st\u00f6. T\u00e4ss\u00e4 tuleekin tietoa virrans\u00e4\u00e4st\u00f6tavoista helpoista [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-15","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/laxstrom.name\/blag\/wp-json\/wp\/v2\/posts\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/laxstrom.name\/blag\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/laxstrom.name\/blag\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/laxstrom.name\/blag\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/laxstrom.name\/blag\/wp-json\/wp\/v2\/comments?post=15"}],"version-history":[{"count":0,"href":"https:\/\/laxstrom.name\/blag\/wp-json\/wp\/v2\/posts\/15\/revisions"}],"wp:attachment":[{"href":"https:\/\/laxstrom.name\/blag\/wp-json\/wp\/v2\/media?parent=15"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/laxstrom.name\/blag\/wp-json\/wp\/v2\/categories?post=15"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/laxstrom.name\/blag\/wp-json\/wp\/v2\/tags?post=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}