Lines Matching +full:non +full:- +full:volatile

1 .. include:: ../disclaimer-ita.rst
3 :Original: :ref:`Documentation/process/volatile-considered-harmful.rst <volatile_considered_harmful…
8 Perché la parola chiave "volatile" non dovrebbe essere usata
9 ------------------------------------------------------------
13 a volte saranno tentati dall'utilizzare *volatile* nel kernel per le
15 *volatile* come una variabile atomica di facile utilizzo, ma non è così.
16 L'uso di *volatile* nel kernel non è quasi mai corretto; questo documento ne
19 Il punto chiave da capire su *volatile* è che il suo scopo è quello di
20 sopprimere le ottimizzazioni, che non è quasi mai quello che si vuole.
27 Come *volatile*, le primitive del kernel che rendono sicuro l'accesso ai dati
30 non ci sarà bisogno di utilizzare *volatile*. Se vi sembra che *volatile* sia
32 In un pezzo di codice kernel scritto a dovere, *volatile* può solo servire a
43 dato condiviso non potrebbe cambiare inaspettatamente mentre si trattiene un
46 - sono stati esplicitamente scritti per agire così - il che significa che gli
47 accessi al dato condiviso non saranno ottimizzati. Quindi il compilatore
52 Se il dato condiviso fosse stato dichiarato come *volatile*, la
56 trattiene un lock, il dato condiviso non è *volatile*. Quando si ha a che
58 l'uso di *volatile* - anzi potenzialmente dannoso.
60 L'uso di *volatile* fu originalmente pensato per l'accesso ai registri di I/O
63 non "ottimizzi" l'accesso ai registri all'interno di una sezione critica.
66 con i puntatori è sconsigliato e non funziona su tutte le architetture.
68 quindi, di nuovo, *volatile* è inutile.
71 *volatile*, è nel caso in cui il processore è in un'attesa attiva sul valore
79 una barriera per il compilatore, quindi, ancora una volta, *volatile* non è
83 Ci sono comunque alcune rare situazioni dove l'uso di *volatile* nel kernel
86 - Le funzioni d'accesso sopracitate potrebbero usare *volatile* su quelle
92 - I codice *inline assembly* che fa cambiamenti nella memoria, ma che non
94 la parola chiave *volatile* a questo codice ne previene la rimozione.
96 - La variabile jiffies è speciale in quanto assume un valore diverso ogni
98 Quindi jiffies può essere *volatile*, ma l'aggiunta ad altre variabili di
100 (parole di Linus) in questo contesto; correggerla non ne varrebbe la pena e
103 - I puntatori a delle strutture dati in una memoria coerente che potrebbe
105 *volatile*. Un esempio pratico può essere quello di un adattatore di rete
110 essere considerata. Di conseguenza, l'uso di *volatile* è probabile che venga
112 dall'uso di *volatile* dovrebbero fermarsi e pensare a cosa vogliono davvero
115 Le modifiche che rimuovono variabili *volatile* sono generalmente ben accette
116 - purché accompagnate da una giustificazione che dimostri che i problemi di