Skip to content

Commit 562e19c

Browse files
authored
Merge pull request #330 from EricccTaiwan/split-lines
Split long \footnote{} lines for improved readability
2 parents a9caf93 + 33910f7 commit 562e19c

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

lkmpg.tex

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -957,7 +957,9 @@ \subsection{The file\_operations Structure}
957957
For example, a driver that handles a video card will not need to read from a directory structure.
958958
The corresponding entries in the \cpp|file_operations| structure should be set to \cpp|NULL|.
959959
\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.
961963
}
962964

963965
There is a gcc extension that makes assigning to this structure more convenient.
@@ -2009,8 +2011,13 @@ \subsection{Tasklets}
20092011
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.
20102012
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.
20112013

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+
}
20142021
While the removal of tasklets remains a longer-term goal, the current kernel contains more than a hundred uses of tasklets.
20152022
Now developers are proceeding with the API changes and the macro \cpp|DECLARE_TASKLET_OLD| exists for compatibility.
20162023
For further information, see \url{https://lwn.net/Articles/830964/}.

0 commit comments

Comments
 (0)