nejasnosti kolem volani jadra

Jan Kara jack na atrey.karlin.mff.cuni.cz
Pondělí Červen 14 22:56:48 CEST 1999


> 
> > Proces, ktery se prave potuluje v jadre, se muze nachazet ve zhruba trech
> > zajimavych stavech: R=running (bezici), S=interruptible sleep (prerusitelne
> > cekani) a D=non-interruptible sleep (neprerusitelne cekani).
> > 
> > V R neco dela, v S a D na neco ceka (vetsinou na I/O), pricemz ve stavu S
> > je schopen sve cekani prerusit, kdyz prijde nejaky signal a vratit se do
> > userlandu, zatimco D jen tak prerusit nelze (vetsinou z toho duvodu, ze 
> > proces drzi nejaky zamek a bude vnejsim podnetum pristupny, az kdyz ho
> > uvolni).
> Kdyz tedy dam umount filesystemu, ktery ma nejaka data v cache (disketa),
> kernel udela fs_lock, data zapise, odmounti to a nakonec udela fs_unlock?
> Nebo se da neprerusitelnost umountu vysvetlit jinak?
  Tedy umount zavola sys_umount. Ten potom jednak zrusi dcache pro dany fs,
jednak da sync bloku a pak se vezme lock od filesystemu a vycisti se inode cache.
Ten umount by mel byt v zasade prerusitelny (tedy alespon v prubehu toho syncu).
Jinak potom pozdeji uz asi ne, protoze se ceka na nejake ty inody (ale to by
nemelo moc nastavat) a tam se ceka neprerusitelne...

							Honza.


Další informace o konferenci Linux