Il thread list.h del kernel linux è sicuro?Il thread list.h del kernel linux è sicuro?
5
A
risposta
7
No, la struttura list_head
non contiene alcun blocco e le operazioni non sono affatto atomiche.
Si può vedere così per lei here, non v'è alcuna menzione di meccanismi di bloccaggio ecc
6
Basta leggere l'attuazione; la risposta è chiaramente NO in presenza di scrittori. (Più lettori su dati immutabili sono al sicuro.)
Paul McKenney fornisce un introduction to RCU sul sempre utile LWN, da cui è possibile trarre alcuni suggerimenti sulla gestione degli aggiornamenti sicuri per thread agli elenchi collegati. Naturalmente, il tuo utilizzo potrebbe essere abbastanza semplice da rendere sufficienti gli spinlock.