jadro 2.4.x a vytizeni praci s diskem

Míla Kuchta mila.kuchta na atlas.cz
Pátek Září 21 20:00:57 CEST 2001


Pavel Kankovsky <peak na argo.troja.mff.cuni.cz> wrote:
> On Sun, 16 Sep 2001, Míla Kuchta wrote:
> 
>> Pavel Kankovsky <peak na argo.troja.mff.cuni.cz> wrote:
>> > Problem spociva v tom, co je to "spravedliva cast". Ted mam na svem PC
>> 
>> To mate svatou pravdu.
> 
> Hlavne aby se to casem objevilo v nejakych svatych knihach. ;)
> 
>> > spusteno asi 60 procesu. Cert vem CPU, to lze snadno a rychle preplanovat,
>> > ale znamena to, ze by kazdy proces mel mit k dispozici prave 1/60 volne
>> > kapacity RAM (jak pro stranky sve virtualni pameti, tak pro buffery
>> > souboru, se kterymi pracuje)? To je samozrejme blbost, nekteremu staci
>> 
>> O pameti jsem nemluvil.
> 
> Mel jsem dojem, ze ten problem spociva v tom, ze I/O intenzivni uloha
> (napr. find nebo prehravani MP3) zkonfiskuje veskerou pamet na buffery a
> ostatni ulohy vystrnadi na swap, coz vede k jejich prisernemu zpomaleni.

Netvrdim, ze tomu tak neni, ale v tom pripade by bylo v systemu
spousta starych bufferu, kterych se lze snadno zbavit prostym pridanim
do seznamu volnych bufferu, a to je velice rychla a I/O prosta akce a
po zvyseni limitu freepages.* by problem prakticky zanikl, coz
nezanikne.

> 
> Kdyby byl problem v CPU -- ulohy cekajici na I/O by sedely na procesoru
> a nechtely ho pujcit ostatnim (co by asi tak delaly? aktivni cekani?),
> tak by to bylo jeste patologictejsi, ale povaha problemu by asi byla
> uplne jina.

O nicem takovem jsem se nezminoval, jen jsem poznamenal, ze by nebylo
tak uplne od veci nechat prioritu procesu castecne zavislou na povaze
jim provadenych cinnosti.

Dalsim problemem je, ze starnuti stranek obstarava obsluha casovace, a
tak v pripade, ze jeden proces rychle alokuje mraky stranek (buffer
cache), tak ty mohou byl mladsi nez stranky procesu, ktery je sice
relativne aktivni, ale ma jich jenom par a obcas se zablokuje. V
pripade, ze by v systemu existovalo vice aktivnich procesu (pokud to
neni nejak osetreno), tak by se mohlo stat, ze nez by proces dostal ty
stranky zpatky, tak by mu je page steeler zase ukradl.

> 
>> Jde o to, jestli logika, ktera to zjistuje neni slozitejsi (a tedy
>> vypocetne narocnejsi) nez osvedceny mechanismus starnuti stranek.
> 
> Ani ne. Sekvencni pristupy jsou stejne detekovany kvuli read-ahead.

Ano, to je fakt. Na druhou stranu, pokud nedostanete MADV_SEQUENCIAL,
tak si tim nemuzete byt nikdy jisty a neni nic horsiho nez zahodit
stranku, kterou budete vzapeti znovu potrebovat. Samozrejme pokud se
Vam ji jeste nepodari vyhledat v seznamu volnych stranek.

S pozdravem

Mila Kuchta


Další informace o konferenci Linux