dettaglio le caratteristiche dei socket; in particolare si potrà trovare un
programma che utilizza questa interfaccia in sez.~\ref{sec:TCP_serv_epoll}.
+% TODO: trattare epoll_wait2, introdotta con il kernel 5.11 (vedi
+% https://lwn.net/Articles/837816/)
+
\itindend{epoll}
\itindbeg{file~lease}
+% TODO: questa funzionalità potrebbe essere estesa vedi:
+% https://lwn.net/Articles/796000/
+
La prima di queste funzionalità è quella del cosiddetto \textit{file lease};
questo è un meccanismo che consente ad un processo, detto \textit{lease
holder}, di essere notificato quando un altro processo, chiamato a sua volta
% TODO trattare la nuova API per l'I/O asincrono (io_uring), introdotta con il
% kernel 5.1, vedi https://lwn.net/Articles/776703/,
-% https://lwn.net/ml/linux-fsdevel/20190112213011.1439-1-axboe@kernel.dk/
+% https://lwn.net/ml/linux-fsdevel/20190112213011.1439-1-axboe@kernel.dk/
+% altre feature correlate:
+% dal 5.11: support for the shutdown(), renameat2(), and unlinkat()
\section{Altre modalità di I/O avanzato}
\label{sec:file_advanced_io}
% TODO aggiunta MADV_WIPEONFORK dal kernel 4.14 that causes the affected memory
% region to appear to be full of zeros in the child process after a fork. It
% differs from the existing MADV_DONTFORK in that the address range will
-% remain valid in the child (dalla notizia in https://lwn.net/Articles/733256/).
+% remain valid in the child (dalla notizia in
+% https://lwn.net/Articles/733256/).
+% TODO aggiunte MADV_COLD e MADV_PAGEOUT dal kernel 5.4, vedi
+% https://git.kernel.org/linus/9c276cc65a58 e
+% https://git.kernel.org/linus/1a4e58cce84e
\footnotetext{a partire dal kernel 2.6.32 è stato introdotto un meccanismo che
identifica pagine di memoria identiche e le accorpa in una unica pagina
% TODO trattare qui copy_file_range (vedi http://lwn.net/Articles/659523/),
-% introdotta nel kernel 4.5
+% introdotta nel kernel 4.5, vedi anche https://lwn.net/Articles/846403/
\subsection{Gestione avanzata dell'accesso ai dati dei file}
\label{sec:file_fadvise}
% TODO trattare qui ioctl_ficlonerange ?
+% TODO trattare qui close_range, vedi https://lwn.net/Articles/789023/
+% dal 5.11 aggiunto CLOSE_RANGE_CLOEXEC, https://lwn.net/Articles/837816/