Aggiunta nota
[gapil.git] / process.tex
index 6408f6f0373d3ef0cdbaf474a7b5f9a6a9b5bc6c..f4447452f0c37c03e2b75a82d365d694553fe99b 100644 (file)
@@ -1344,6 +1344,11 @@ processo,\footnote{in caso contrario si avrà un errore di \errcode{ENOMEM};
   positivo di grandi dimensioni.}  ma il risultato verrà comunque fornito per
 l'intervallo compreso fino al multiplo successivo.
 
+% TODO: verificare i cambiamenti di sematica con il kernel 5.0 (restrizione
+% solo alle pagine relative al processo stesso) vedi:
+% https://lwn.net/Articles/776034/,
+% https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=574823bfab82d9d8fa47f422778043fbb4b4f50e 
+
 I risultati della funzione vengono forniti nel vettore puntato da \param{vec},
 che deve essere allocato preventivamente e deve essere di dimensione
 sufficiente a contenere tanti byte quante sono le pagine contenute
@@ -1494,13 +1499,14 @@ espressi dalle costanti riportate in tab.~\ref{tab:mlockall_flags}.
 Con \func{mlockall} si possono bloccare tutte le pagine mappate nello spazio
 di indirizzi del processo, sia che comprendano il segmento di testo, di dati,
 lo \textit{stack}, lo \textit{heap} e pure le funzioni di libreria chiamate, i
-file mappati in memoria, i dati del kernel mappati in user space, la memoria
-condivisa.  L'uso dell'argomento \param{flags} permette di selezionare con
-maggior finezza le pagine da bloccare, ad esempio usando \const{MCL\_FUTURE}
-ci si può limitare a tutte le pagine allocate a partire dalla chiamata della
-funzione, mentre \const{MCL\_CURRENT} blocca tutte quelle correntemente
-mappate. L'uso di \func{munlockall} invece sblocca sempre tutte le pagine di
-memoria correntemente mappate nello spazio di indirizzi del programma.
+file mappati in memoria, i dati del kernel mappati in \textit{user space}, la
+memoria condivisa.  L'uso dell'argomento \param{flags} permette di selezionare
+con maggior finezza le pagine da bloccare, ad esempio usando
+\const{MCL\_FUTURE} ci si può limitare a tutte le pagine allocate a partire
+dalla chiamata della funzione, mentre \const{MCL\_CURRENT} blocca tutte quelle
+correntemente mappate. L'uso di \func{munlockall} invece sblocca sempre tutte
+le pagine di memoria correntemente mappate nello spazio di indirizzi del
+programma.
 
 A partire dal kernel 4.4 alla funzione \func{mlockall} è stato aggiunto un
 altro flag, \const{MCL\_ONFAULT}, che può essere abbinato a entrambi gli altri
@@ -2539,8 +2545,7 @@ Dopo l'uso di \macro{va\_end} la variabile \param{ap} diventa indefinita e
 successive chiamate a \macro{va\_arg} non funzioneranno.  Nel caso del
 \cmd{gcc} l'uso di \macro{va\_end} può risultare inutile, ma è comunque
 necessario usarla per chiarezza del codice, per compatibilità con diverse
-implementazioni e per eventuali eventuali modifiche future a questo
-comportamento.
+implementazioni e per eventuali modifiche future a questo comportamento.
 
 Riassumendo la procedura da seguire per effettuare l'estrazione degli
 argomenti di una funzione \textit{variadic} è la seguente:
@@ -2947,9 +2952,9 @@ basterà scegliere una volta per tutte quale usare e attenersi alla scelta.
 % LocalWords:  times library utmp syscall number Filesystem Hierarchy pathname
 % LocalWords:  context assembler sysconf fork Dinamic huge segmentation program
 % LocalWords:  break store using intptr ssize overflow ONFAULT faulting alloc
+%  LocalWords:  scheduler pvalloc aligned ISOC ABCDEF
 
 %%% Local Variables: 
 %%% mode: latex
 %%% TeX-master: "gapil"
 %%% End: 
-%  LocalWords:  scheduler pvalloc aligned ISOC ABCDEF