Newsgroup: it.comp.os.linux.sys
Titolo: Chi mi sa spiegare cosa sono kswapd e kflushd?

Come da soggetto...
Ho sentito dire che si chiamano kernel thread, il che spiegherebbe perche'
non esistono file con quel nome... pero' vorrei saperne di piu', cosa sono,
se girano in kernel mode  o user mode...
Grazie a chi ha voglia di spiegarmelo...
Ciao
	Antonio
-- 
============================================================================
Mi dissero una volta che me ne ero andato. Ma quando, se sempre sto tornando
a casa e quartieri città e mai nessuno di voi è il mio quartiere! Il mio
"Barrìo". Così lo chiamerò il posto dove mi sentirò uno di voi e le vostre
voci lontane saranno musica per il mio cuore, di modo che se fossi nel mio
barrìo, avrei spalle su cui appoggiare le mani e orecchie a cui
confessarmi... e case, e luna, stelle che dall'alto sul tetto della casa dei
miei vecchi mi direbbero... fermati.
					Vinicio Capossela

se girano in kernel mode  o user mode...
Sono pezzi di kernel.
-- 
ciao, | [Per rispondere togli "toglimi" dal mio indirizzo.]
Marco | * The Internet is full. Go away.  -- Joel Furr *
      | (Ri)scoprire fidonet: 
http://bbs.mi.linux.it

         Antonio
Beh, in 2 parole sono dei kernel threads, cioč particolari processi
creati non da init (come invece tutti i processi nello user space) bensě
direttamente dal kernel, nella fase di avvio iniziale, con una tecnica
particolare che č una specie di clonazione nel kernel space.
Girano come kernel daemons, cioč per la maggior parte del tempo dormono
e vengono attivati da corrispondenti chiamate wake, dal kernel (ad
esempio uno dei 2, mi sembra kswapd, puň essere svegliato anche dal tick
del clock). Quando vengono risvegliati fanno:
1- kswapd si occupa di rilasciare le pagine di memoria inutilizzate,
scaricandole sullo/sugli swap device;
2- kflushd (assieme a kupdate) si occupa della buffer cache, la cache
del VFS, che va mantenuta coerente e sync-ronizzata col contenuto dei
dischi.
Una volta (anticamente ;) ) non c'era kupdate, bensě updated che girava
come normale user-daemon. Accadeva allora che per qualche motivo qualche
root infastidito da quel demone che non ricordava di aver mai lanciato,
lo killasse...
ciao, oops

dischi.
Mi stavo chiedendo quali fossero i vantaggi (che sicuramente ci sono!)
di usare dei processi anche se in kernel space, invece di implementare
la cosa con "normali" chiamate a procedure nel kernel.
Forse per avere un modello uniforme? Tutti processi?
Piu` flessibile? Dal fatto che e` possibile modificarne il nice?
 
-- 
Lorenzo
"Given enough eyeballs, all bugs are shallow", Linus'Law
(per rispondere via email fai un rot13 dell'indirizzo)
(apply a rot13 to reply)

Sono pezzi di kernel.
Speravo, con questo subject, di spillarti piu' di quattro parole :-(
-- 
*** Hi! I'm a .signature Virus ! Copy me
    to your signature to help me spreading! ***

lo killasse...
Oops :-) 
Ciao
	Antonio


 Speravo, con questo subject, di spillarti piu' di quattro parole :-(
Illuso :-DD
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

 Piu` flessibile? Dal fatto che e` possibile modificarne il nice?
Allora, anzitutto AFAIK, un bel AFAIK grande come una casa, e io dietro
:))))
IMHO... ok, incomincio.
kswapd, kflushd ecc. sono dei demoni perchč devono essere pronti a fare
il loro lavoro. Nel kernel non puoi metterci molto a sbrigare le
faccende della buffer cache o del mm. E si tratta di compiti
concettualmente isolabili dal resto, anzi sono considerati proprio
separatamente anche nell'architettura di un kernel (non solo unix-like).
E' assai meglio allora implementarli come kernel-threads, che offrano il
loro servizio ogniqualvolta vengono risvegliati con un'opportuna wake (o
dal tick del clock), piuttosto che implementarli come funzioni C da
richiamare. E' estremamente piů elegante.
ciao.