linux user group brescia

immagine del castello

Archivio della mailing list

Avviare nfsd

Luca Giuzzi giuzzi a lugbs.linux.it
Mar 25 Feb 2003 21:47:29 UTC
On Tue, Feb 25, 2003 at 06:47:30PM +0100, Carlo wrote:
> 
> > 	Conclusione: allora mi dite che per fare da _SERVER_ NFS bisogna
> > aver compilato nel kernel il supporto come server. Che cosa buffa, passare
> > da user space a kernel space. Ne conoscete la filosofia?
> 
> Si passa a kernel space per aumentare la velocità delle applicazioni: 
> principalmente si risparmia il tempo speso nel passaggio tra user-mode e 
> kernel-mode, quando si chiama una funzione del kernel (read,write, etc.), il 

affermativo... eviti un context switch con tutte le operazioni di 
 salvataggio e recupero dei registri annesse

> guadagno in termini di velocità può essere notevole, anche se può avere i 
> suoi difetti. (puoi leggerti a riguardo i pro e i contro l'introduzione di un 
> mini web-server nel kernel di linux (kernel httpd acceleration) (khttpd)) .

Mah... il khttpd era una dimostrazione piu' che un server web vero e 
 proprio... si trattava di far vedere come certe operazioni potessero
 essere velocizzate e di PREMERE molto per l'introduzione della
 zero-copy a livello di driver di rete.

In generale la logica dietro nfsd in kernel space e' che le strutture
usate sono essenzialmente quelle di un filesystem (anche per il server...
cito il commento nell'interfaccia al vfs: HACK, HACK)
e che c'e' molto da guadagnare a consentire al demone di accedere
direttamente al livello di vfs: zero copy e gestione automatica dei
buffers di cache...

D'altro canto nfsv4 in kernel space e' stata (ed in parte e' ancora)
una sofferenza :((



> Ex: la Microsoft ha deciso di includere, per velocizzarla,se non sbaglio,parte 
> della gestione della grafica in kernel space. 
> 

argh... contenti loro...
[nota bene: l'accesso all'hardware mi sta bene fatto in kernel space,
 vedi fbdev e simili... quello che temo e' il window manager in kernel
 space]

ciao,
 lg




Maggiori informazioni sulla lista Lug