Ieri è stato rilasciato il kernel 2.6.36 e si sta già preparando il nuovo 2.6.37. Una delle novità più interessanti per la prossima versione potrebbe essere la definitiva, o quasi, scomparsa del fantomatico BKL, big kernel lock.
Il BKL è uno spin lock globale che fu introdotto per la gestione dei sistemi SMP nei kernel 2.0. Da molti anni si sta cercando di eliminarlo da tutti i vari sottosistemi, ma sebbene molto del lavoro sia già stato fatto in alcuni punti viene ancora utilizzato.
Grazie al lavoro di Arnd Bergmann forse il kernel 2.6.37 potrebbe essere il primo ad eliminare il BKL per, almeno, la maggior parte degli utenti.
La modifica consiste nel sostituire il BKL con dei lock più fini, ma ogni modifica va controllata e testata accuratamente per evitare problemi. La patch più corposa è relativa alla funzione llseek() che è presente nella struttura file_operations e consente agli sviluppatori di driver di implementare la system call lseek() per modificare la posizione all’interno di un file.
Si spera che si possa finalmente ripulire tutto il codice che ancora utilizza questo lock in tempi brevi e di avere un 2.6.37 finalmente BKL-free.
Via | LWN
ekerazha
22 ott 2010 - 12:32 - #1Anche FreeBSD (specialmente dalla versione 8) si sta muovendo in questo senso.
slot
22 ott 2010 - 13:01 - #2Ci saranno cambiamenti per l’utente finale o è una semplificazione per gli sviluppatori?
nondiciamostupidate
22 ott 2010 - 14:17 - #3@2
l’assenza di BKL comporta una maggior reattivita’ del sistema, si tratta di una svolta tecnologica che accellerera’ il kernel: in ultima analisi: si: il vantaggio e’ dell’utente.
brunoliegibastonliegi
23 ott 2010 - 11:24 - #4@3 grazie, personalmente ci avevo capito poco, ora continuo a non capire di kernel ma almeno so cosa aspettarmi dalla modifica.
:)
Marco Garibaldi
25 ott 2010 - 03:10 - #5speriamo!!!piu’ performance per il pinguino!!!