You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For example, a driver that handles a video card will not need to read from a directory structure.
958
958
The corresponding entries in the \cpp|file_operations| structure should be set to \cpp|NULL|.
959
959
\footnote{
960
-
As of Linux kernel 6.12, several member fields have been added, removed, or had their prototypes changed. For example, additions include \texttt{fop\_flags}, \texttt{splice\_eof}, and \texttt{uring\_cmd}; removals include \texttt{iterate} and \texttt{sendpage}; and the prototype for \texttt{iopoll} was modified.
960
+
As of Linux kernel 6.12, several member fields have been added, removed, or had their prototypes changed.
961
+
For example, additions include \texttt{fop\_flags}, \texttt{splice\_eof}, and \texttt{uring\_cmd};
962
+
removals include \texttt{iterate} and \texttt{sendpage}; and the prototype for \texttt{iopoll} was modified.
961
963
}
962
964
963
965
There is a gcc extension that makes assigning to this structure more convenient.
@@ -2009,8 +2011,13 @@ \subsection{Tasklets}
2009
2011
The tasklet callback runs in atomic context, inside a software interrupt, meaning that it cannot sleep or access user-space data, so not all work can be done in a tasklet handler.
2010
2012
Also, the kernel only allows one instance of any given tasklet to be running at any given time; multiple different tasklet callbacks can run in parallel.
2011
2013
2012
-
In recent kernels, tasklets can be replaced by workqueues, timers, or threaded interrupts.\footnote{The goal of threaded interrupts is to push more of the work to separate threads, so that the minimum needed for acknowledging an interrupt is reduced, and therefore the time spent handling the interrupt (where it can't handle any other interrupts at the same time) is reduced.
2013
-
See \url{https://lwn.net/Articles/302043/}.}
2014
+
In recent kernels, tasklets can be replaced by workqueues, timers, or threaded interrupts.
2015
+
\footnote{
2016
+
The goal of threaded interrupts is to push more of the work to separate threads,
2017
+
so that the minimum needed for acknowledging an interrupt is reduced,
2018
+
and therefore the time spent handling the interrupt (where it can't handle any other interrupts at the same time) is reduced.
2019
+
See \url{https://lwn.net/Articles/302043/}.
2020
+
}
2014
2021
While the removal of tasklets remains a longer-term goal, the current kernel contains more than a hundred uses of tasklets.
2015
2022
Now developers are proceeding with the API changes and the macro \cpp|DECLARE_TASKLET_OLD| exists for compatibility.
2016
2023
For further information, see \url{https://lwn.net/Articles/830964/}.
0 commit comments