Kuinka viritätte linuxia

Aina kun pakettienhallintaan ilmestyy uusi kerneli niin asennan sen ja sen source-paketin. Käännän viritetyn kernelin tuosta source-paketista, kun olen ensin asettanut lähdetiedostoon HZ ja USER_HZ: 100 -> 1000.

PS. tietääkö jokunen että miksi hertzit on oletuksena 100. Koska arvolla 1000 saadaan paljon sulavampi ja tarkempi(deinterlace) videotoisto. Itse arvelisin tuon olevan 100 siksi, että säilyisi yhteensopivuus vanhemmille koneille.

PPS. Nuot hertzit-arvot minun ymmärtääkseni on keskeytysten enimmäistiheys per sekunti. Olenko oikeassa?
3673
Äänestä

Muut lukivat myös

Vastaukset 3

Vanhimmat

"The kernel keeps track of time passing in the global jiffies variable. You may consider this the kernel’s heartbeat because for every timer tick that goes by, jiffies is incremented by one. The define HZ controls the rate of the ticks and can be modified at your will in ."

Most platforms set this to 100, giving us a heartbeat rate of one every 10 milliseconds. Increasing the value may give you better interactive performance at the expense of spending more time in the scheduler, but leaving it at 100 is probably a safe bet. Every now and then, discussions arise debating whether HZ should be changed since it has stayed the same since Linux was first introduced. So far, it is not conclusive if increasing it will give better performance on today’s faster processors."

Beginning Linux Programming

Äänestä
  • Arvelin asian olevankin. Tuo asetusarvo 100 on muinaisjäänne joka on kulkenut kernelin syntyhetkistä aina tähän päivään saakka. Koneet ovat kuitenkin nyt aivan eri luokkaa kuin tuolloin. Joten mielestäni 1000 on jo paljon sopivampi asetusarvo. Ja sitä tulen käyttämään, koska käyttäjäkokemus on sen verran parempi että minäkin sen jo huomaan.

    PS. Yhden framen kestoaika 24fps videotoistolla on 41.7 ms. Ja kun asetusarvolla 100Hz sydän lyö 10 ms välein, niin ei ole ihme jos tämä näkyy selvästi videotoiston ongelmina. Asetusarvolla 1000 sydän lyö 1 ms välein, joten videotoistossa ei näy havaittavia ongelmia vaikka sydän potkaisi muutamankin kerran tyhjää yhden framen aikana.

    Äänestä

  • kernaasti kirjoitti:

    Arvelin asian olevankin. Tuo asetusarvo 100 on muinaisjäänne joka on kulkenut kernelin syntyhetkistä aina tähän päivään saakka. Koneet ovat kuitenkin nyt aivan eri luokkaa kuin tuolloin. Joten mielestäni 1000 on jo paljon sopivampi asetusarvo. Ja sitä tulen käyttämään, koska käyttäjäkokemus on sen verran parempi että minäkin sen jo huomaan.

    PS. Yhden framen kestoaika 24fps videotoistolla on 41.7 ms. Ja kun asetusarvolla 100Hz sydän lyö 10 ms välein, niin ei ole ihme jos tämä näkyy selvästi videotoiston ongelmina. Asetusarvolla 1000 sydän lyö 1 ms välein, joten videotoistossa ei näy havaittavia ongelmia vaikka sydän potkaisi muutamankin kerran tyhjää yhden framen aikana.

    kernel hz 300 on hyvä arvo videokäyttöön.

    Perusteita:

    1. hyvä yhteensopivuus vanhan hz=100 -systeemin kanssa. Eli joka 3. kellokeskeytys päästetään läpi vanhoille ohjelmille, jotka haluavat kutsun takaisinkutsuproseduuriin (callback) 10 ms välein.

    2. Yhteensopiva sekä eurooppalaisen ( 50 puoliframea, 25 kokoframea sekunnissa ) että USA:laisen ( 60 puoliframea, 30 kokoframea sekunnissa ) kanssa.

    ajat:

    50 framea/s -> 1 frame = 1000 ms / 50 = 20 ms
    60 framea/s -> 1 frame = 1000 ms / 60 = 16,67 ms

    ja tuolla hz=300 -arvolla:

    1 kellokeskeytys tulee 1000/300 ms = 3,33 ms välein.

    Eli jenkeissä 5 kellokeskeytystä/frame
    ja euroopassa 6 kellokeskeytystä/frame

    3. Riittävän, mutta ei *liian* korkea keskeytystaajuus. 300 kellokeskeytystä/s riittää hyvin sujuvaan videoon, mutta 1000 lisäisi turhaa CPU -kuormaa. Vaatiihan jokainen kellokeskeytys keskeytyskäsittelyn yleiskuorman (rekisterien tallennus pinoon ja palautus sieltä) ja jos tehdään task switch, niin lisää kuormaa. Tuota on turha toistaa 1000 kertaa/s, 300 riittää hyvin.

    Äänestä

Kommentoi aloitusta


kernaasti kirjoitti:

Aina kun pakettienhallintaan ilmestyy uusi kerneli niin asennan sen ja sen source-paketin. Käännän viritetyn kernelin tuosta source-paketista, kun olen ensin asettanut lähdetiedostoon HZ ja USER_HZ: 100 -> 1000.

PS. tietääkö jokunen että miksi hertzit on oletuksena 100. Koska arvolla 1000 saadaan paljon sulavampi ja tarkempi(deinterlace) videotoisto. Itse arvelisin tuon olevan 100 siksi, että säilyisi yhteensopivuus vanhemmille koneille.

PPS. Nuot hertzit-arvot minun ymmärtääkseni on keskeytysten enimmäistiheys per sekunti. Olenko oikeassa?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu