Il computer di pinguin75@xxxxxxxxx, diventato autocosciente, ha scritto: > Qualcuno riesce a spiegarmi l'arcano?? Di kernel me ne intendo ancora meno, ma gli spinlock si chiamano cosi` perche`, se non ho capito male, le altre CPU vengono fatte girare a vuoto (spin) finche chi possiede lo spinlock non lo rilascia, garantendo in questo modo che ci sia una sola CPU che esegue delle operazioni. Chiaramente cio` non ha molto senso nel caso di una CPU sola, ma e` perfettamente sensato nel caso di sistemi con piu` CPU. Se guardi in /usr/src/linux/include/linux/spinlock.h, vedi che per sistemi non SMP (macro SMP non definita) le varie macro relative agli spinlock sono definite come un ciclo ``do { } while(0)'' che non fa nulla e che viene rimosso dall'ottimizzatore del gcc. Chiaro che poi il sorgente e` lo stesso sia per sistemi monoprocessore che per sistemi multiprocessore, quindi bisogna acquisire e mollare gli spinlock nei punti giusti se si vuole che un pezzo di codice funzioni anche su macchine SMP. -- Per iscriversi (o disiscriversi), basta spedire un messaggio con SOGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx