UPD up to CONFIG_IKHEADERS
This commit is contained in:
Binary file not shown.
@@ -208,7 +208,8 @@ Weitere Einzelheiten finden Sie in der Manpage.
|
||||
\subsection{uselib syscall (for libc5 and earlier)}
|
||||
CONFIG\_USELIB [=n] \textbf{[N]}\\
|
||||
Diese Option schaltet den uselib-Systemaufruf ein, der im dynamic-Linker von libc5 und früher verwendet wird.
|
||||
Das aktuelle glibc verwendet diesen Systemaufruf nicht mehr, deshalb kann man diese option ausschalten wenn sie
|
||||
Das aktuelle glibc verwendet diesen Systemaufruf nicht mehr, deshalb kann man diese Option
|
||||
ausschalten wenn sie
|
||||
keine Programme mehr verwenden, die auf libc5 (oder früher) compiliert wurden.\\
|
||||
Bemerkung: Debian Bullseye verwendet dies noch (Y).
|
||||
|
||||
@@ -330,7 +331,8 @@ Deaktiviert die unprivilegierte BPF standardmäßig, indem der entsprechende Ein
|
||||
Ein Administrator kann sie immer noch wieder aktivieren,
|
||||
indem er sie später auf 0 setzt, oder sie dauerhaft deaktiviert, indem
|
||||
er sie auf 1 setzt (von wo aus kein weiterer Übergang auf 0 mehr möglich ist).\\
|
||||
Unprivilegierte BPF könnte verwendet werden, um bestimmte potenzielle Seitenkanalschwachstellen für spekulative Ausführung auf nicht gemilderter betroffener Hardware auszunutzen.
|
||||
Unprivilegierte BPF könnte verwendet werden, um bestimmte potenzielle Seitenkanalschwachstellen
|
||||
für spekulative Ausführung auf nicht gemilderter betroffener Hardware auszunutzen.
|
||||
Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit Y.
|
||||
\subsubsection{Preload BPF file system with kernel specific program
|
||||
and map iterators \texorpdfstring{$\rightarrow$}{->}}
|
||||
@@ -343,7 +345,8 @@ und -Maps nützlich ist.
|
||||
\textit{Dies ist nur sichtbar wenn der übergeordnete Punkt aktiviert ist.}\\
|
||||
CONFIG\_BPF\_PRELOAD\_UMD [=m] \textbf{[]}\\
|
||||
Dadurch wird ein Kernelmodul mit mehreren eingebetteten BPF-Programmen
|
||||
erstellt, die als für den Menschen lesbare Dateien in den BPF-FS-Einhängepunkt eingefügt werden, was bei der Fehlersuche und der Untersuchung von BPF-Programmen und -Maps nützlich ist.
|
||||
erstellt, die als für den Menschen lesbare Dateien in den BPF-FS-Einhängepunkt eingefügt werden,
|
||||
was bei der Fehlersuche und der Untersuchung von BPF-Programmen und -Maps nützlich ist.
|
||||
\subsubsection{Enable BPF LSM Instrumentation}
|
||||
CONFIG\_BPF\_LSM [=y] \textbf{[Y]}\\
|
||||
Ermöglicht die Instrumentierung der Sicherheitshaken mit BPF-Programmen zur Implementierung dynamischer
|
||||
@@ -365,7 +368,7 @@ entsteht.
|
||||
CONFIG\_PREEMPT\_VOLUNTARY [=n] \textbf{[N]}\\
|
||||
Diese Einstellung reduziert die Latenz des Kernels durch zusätzliche "explizite Unterbrechungspunkte" im Kernel.
|
||||
Diese neuen Unterbrechungspunkte wurden ausgewählt, um die maximale Latenz beim neuerlichen Zuordnen
|
||||
des Schedulers zu reduzieren und dadurch schnelle Reaktionszeiten der Applikationen zu gewährleisten. -
|
||||
des Schedulers zu reduzieren und dadurch schnelle Reaktionszeiten der Applikationen zu gewährleisten. --
|
||||
Auf Kosten eines geringeren Durchsatzes wird dies erreicht.
|
||||
\subsubsection{Preemptible Kernel (Low-Latency Desktop)}
|
||||
CONFIG\_PREEMPT [=y] \textbf{[Y]}\\
|
||||
@@ -513,10 +516,8 @@ CONFIG\_PSI\_DEFAULT\_DISABLED [=n] \textbf{[N]}\\
|
||||
Wenn diese Option gesetzt ist, ist die Verfolgung von Druckstauinformationen
|
||||
standardmäßig deaktiviert, kann aber durch die Übergabe von psi=1 auf der
|
||||
Kernel-Befehlszeile beim Booten aktiviert werden.\\
|
||||
|
||||
Diese Funktion fügt dem Task-Wakeup- und Sleep-Pfad des Schedulers etwas Code hinzu.
|
||||
Der Overhead ist zu gering, um gängige planungsintensive Arbeitslasten in der Praxis
|
||||
|
||||
zu beeinträchtigen (z. B. Webserver, Memcache), aber es zeigt sich in künstlichen
|
||||
Scheduler-Stresstests, wie z. B. Hackbench.
|
||||
Wenn Sie paranoid sind und nicht sicher, wofür der Kernel verwendet wird,
|
||||
@@ -608,9 +609,139 @@ Wählen Sie eine bestimmte Zahl, wenn Sie die RCU selbst testen.\\
|
||||
Wählen Sie den maximal zulässigen Wert für große Systeme, aber bedenken Sie,
|
||||
dass Sie möglicherweise auch den Kernel-Boot-Parameter skew\_tick setzen
|
||||
müssen, um Konflikte bei den Sperren der rcu\_node-Strukturen zu vermeiden.
|
||||
Nehmen Sie den Standardwert, wenn Sie unsicher sind.
|
||||
Nehmen Sie den Standardwert, wenn Sie unsicher sind.\\
|
||||
Symbol: RCU\_FANOUT\_LEAF [=64]\\
|
||||
Type : integer (Ganzzahl)\\
|
||||
Range : [2 64]
|
||||
|
||||
\subsubsection{Enable RCU priority boosting}
|
||||
CONFIG\_RCU\_BOOST [=y] \textbf{[Y]}\\
|
||||
Diese Option erhöht die Priorität von preemptierten RCU-Lesern, die
|
||||
die aktuelle preemptible RCU-Schonfrist zu lange blockieren.
|
||||
Diese Option verhindert auch, dass schwere Lasten den Aufruf von RCU-Callbacks
|
||||
blockieren.\\
|
||||
Geben Sie hier Y an, wenn Sie mit Echtzeitanwendungen oder großen Lasten arbeiten.\\
|
||||
Sagen Sie hier N ein, wenn Sie unsicher sind.
|
||||
|
||||
\paragraph{Milliseconds to delay boosting after RCU grace-period start}$~$\\
|
||||
CONFIG\_RCU\_BOOST\_DELAY [=500] \textbf{[500]}\\
|
||||
Diese Option gibt die Zeit an, die nach dem Beginn einer bestimmten Karenzzeit
|
||||
gewartet werden soll, bevor die Priorität von RCU-Lesern, die diese Karenzzeit
|
||||
blockieren, erhöht wird.\\
|
||||
Beachten Sie, dass jeder RCU-Leser, der eine beschleunigte RCU-Schonfrist
|
||||
blockiert, sofort hochgestuft wird.\\
|
||||
Akzeptieren Sie die Standardeinstellung, wenn Sie unsicher sind.\\
|
||||
Symbol: RCU\_BOOST\_DELAY [=500]\\
|
||||
Typ : Integer (Ganzzahl)\\
|
||||
Bereich : [0 3000]
|
||||
|
||||
\paragraph{Perform RCU expedited work in a real-time kthread}$~$\\
|
||||
CONFIG\_RCU\_EXP\_KTHREAD [=n] \textbf{[N]}\\
|
||||
Verwenden Sie diese Option, um die Latenzzeiten der beschleunigten Neuheitsschonfristen
|
||||
weiter zu reduzieren, was allerdings mit mehr Störungen verbunden ist.
|
||||
Diese Option ist standardmäßig auf PREEMPT\_RT=y-Kerneln deaktiviert,
|
||||
die beschleunigte Neuheitsschonfristen nach dem Booten durch die bedingungslose
|
||||
Einstellung rcupdate.rcu\_normal\_after\_boot=1 deaktivieren.\\
|
||||
Akzeptieren Sie die Voreinstellung, wenn Sie unsicher sind.
|
||||
|
||||
\subsubsection{Offload RCU callback processing from boot-selected CPUs}
|
||||
CONFIG\_RCU\_NOCB\_CPU [=y] \textbf{[Y]}\\
|
||||
Verwenden Sie diese Option, um den Jitter des Betriebssystems für aggressive HPC- oder
|
||||
Echtzeit-Workloads zu reduzieren.
|
||||
Sie kann auch verwendet werden, um RCU-Callback-Aufrufe auf energieeffiziente CPUs in
|
||||
batteriebetriebenen asymmetrischen Multiprozessoren auszulagern. Der Preis für diesen
|
||||
reduzierten Jitter ist, dass der Overhead von call\_rcu() ansteigt und dass bei einigen
|
||||
Workloads ein erheblicher Anstieg der Kontextwechselraten zu verzeichnen ist.\\
|
||||
Diese Option entlastet den Aufruf von Callbacks von der Gruppe von CPUs, die zur
|
||||
Boot-Zeit durch den rcu\_nocbs-Parameter angegeben wird. Für jede dieser CPUs wird ein
|
||||
kthread ("rcuox/N") erstellt, um Callbacks aufzurufen, wobei "N" die CPU ist, die
|
||||
entlastet wird, und wobei "x" "p" für RCU-preempt (PREEMPTION-Kernel) und "s" für
|
||||
RCU-sched (!PREEMPTION-Kernel) ist. Nichts hindert diesen kthread daran, auf den
|
||||
angegebenen CPUs zu laufen, aber (1) die kthreads können zwischen jedem Callback
|
||||
preempted werden, und (2) Affinität oder cgroups können verwendet werden, um die
|
||||
kthreads zu zwingen, auf jeder gewünschten Gruppe von CPUs zu laufen.\\
|
||||
Sagen Sie hier "Y", wenn Sie trotz des zusätzlichen Overheads ein geringeres
|
||||
OS-Jitter benötigen.\\
|
||||
Sagen Sie hier N, wenn Sie unsicher sind.
|
||||
|
||||
\paragraph{Offload RCU callback processing from all CPUs by default}$~$\\
|
||||
CONFIG\_RCU\_NOCB\_CPU\_DEFAULT\_ALL [=n] \textbf{[N]}\\
|
||||
Verwenden Sie diese Option, um die Callback-Verarbeitung standardmäßig von allen
|
||||
CPUs zu entlasten, wenn der Boot-Parameter rcu\_nocbs oder nohz\_full nicht vorhanden
|
||||
ist. Dadurch wird auch die Notwendigkeit vermieden, Boot-Parameter zu verwenden, um
|
||||
den Effekt der Entlastung aller CPUs beim Booten zu erreichen.\\
|
||||
Geben Sie hier Y an, wenn Sie alle CPUs standardmäßig beim Booten entlasten wollen.\\
|
||||
Sagen Sie hier N, wenn Sie sich nicht sicher sind.
|
||||
|
||||
\paragraph{Offload RCU callback from real-time kthread}$~$\\
|
||||
CONFIG\_RCU\_NOCB\_CPU\_CB\_BOOST [=n] \textbf{[N]}\\
|
||||
Verwenden Sie diese Option, um ausgelagerte Rückrufe als SCHED\_FIFO aufzurufen, um
|
||||
ein Aushungern durch schwere SCHED\_OTHER-Hintergrundlast zu vermeiden. Natürlich
|
||||
führt die Ausführung als SCHED\_FIFO während Callback Floods dazu, dass die rcuo[ps]
|
||||
kthreads die CPU für Hunderte von Millisekunden oder mehr monopolisieren.
|
||||
Wenn Sie diese Option aktivieren, müssen Sie daher sicherstellen, dass
|
||||
latenzempfindliche Aufgaben entweder mit höherer Priorität oder auf einer anderen CPU
|
||||
ausgeführt werden.\\
|
||||
Geben Sie hier Y an, wenn Sie die RT-Priorität für die Auslagerung von kthreads
|
||||
festlegen möchten.\\
|
||||
Sagen Sie hier N, wenn Sie einen !PREEMPT\_RT-Kernel bauen und sich unsicher sind.
|
||||
|
||||
\subsubsection{Tasks Trace RCU readers use memory barriers in user and idle}
|
||||
CONFIG\_TASKS\_TRACE\_RCU\_READ\_MB [=n] \textbf{[N]}\\
|
||||
Verwenden Sie diese Option, um die Anzahl der IPIs (inter-processor interrupts),
|
||||
die an CPUs gesendet werden,
|
||||
die im Benutzerraum ausgeführt werden oder sich im Leerlauf befinden, während Tasks
|
||||
RCU-Tilgungsfristen verfolgen, weiter zu reduzieren.
|
||||
Da eine vernünftige Einstellung des Kernel-Boot-Parameters
|
||||
rcupdate.rcu\_task\_ipi\_delay solche IPIs für viele Arbeitslasten eliminiert, ist
|
||||
die richtige Einstellung dieser Kconfig-Option vor allem für aggressive
|
||||
Echtzeitinstallationen und für batteriebetriebene Geräte wichtig, daher die oben
|
||||
gewählte Standardeinstellung.\\
|
||||
Sagen Sie hier Y, wenn Sie IPIs hassen.\\
|
||||
Sagen Sie hier N, wenn Sie leseseitige Speicherbarrieren hassen.\\
|
||||
Nehmen Sie die Standardeinstellung, wenn Sie unsicher sind.
|
||||
|
||||
\subsubsection{RCU callback lazy invocation functionality}
|
||||
CONFIG\_RCU\_LAZY [=y] \textbf{[Y]}\\
|
||||
Um Strom zu sparen, sollten Sie RCU-Rückrufe stapeln und nach einer Verzögerung,
|
||||
einem Speicherdruck oder einer zu großen Rückrufliste flushen.
|
||||
|
||||
\subsubsection{RCU callback-batch backup time check}
|
||||
CONFIG\_RCU\_DOUBLE\_CHECK\_CB\_TIME [=y] \textbf{[Y]}\\
|
||||
Verwenden Sie diese Option, um eine präzisere Durchsetzung des Modulparameters
|
||||
rcutree.rcu\_resched\_ns in Situationen zu ermöglichen, in denen ein einziger
|
||||
RCU-Callback Hunderte von Mikrosekunden lang laufen könnte, wodurch die
|
||||
32-Callback-Batching-Funktion, die verwendet wird, um die Kosten der feinkörnigen,
|
||||
aber teuren local\_clock()-Funktion zu amortisieren, unterlaufen wird.\\
|
||||
Diese Option rundet rcutree.rcu\_resched\_ns auf den nächsten Jiffy auf und setzt
|
||||
die 32-Callback-Batching-Funktion außer Kraft, wenn diese Grenze überschritten wird.\\
|
||||
Sagen Sie hier Y, wenn Sie eine strengere Durchsetzung des Rückruflimits benötigen.\\
|
||||
Sagen Sie hier N, wenn Sie unsicher sind.
|
||||
|
||||
\subsection{Kernel .config support}
|
||||
CONFIG\_IKCONFIG [=y] \textbf{[Y]}\\
|
||||
Mit dieser Option kann der gesamte Inhalt der ".config"-Datei des Linux-Kernels im
|
||||
Kernel gespeichert werden. Sie dokumentiert, welche Kernel-Optionen in einem
|
||||
laufenden Kernel oder in einem On-Disk-Kernel verwendet werden.
|
||||
Diese Informationen können mit dem Skript scripts/extract-ikconfig aus der
|
||||
Kernel-Image-Datei extrahiert und als Eingabe verwendet werden, um den aktuellen
|
||||
Kernel neu zu erstellen oder einen anderen Kernel zu bauen.
|
||||
Sie können auch aus einem laufenden Kernel extrahiert werden, indem
|
||||
/proc/config.gz gelesen wird, falls dies aktiviert ist (siehe unten).\\
|
||||
Definiert mit init/Kconfig:686
|
||||
|
||||
\subsubsection{Enable access to .config through /proc/config.gz}
|
||||
CONFIG\_IKCONFIG\_PROC [=y] \textbf{[Y]}\\
|
||||
Diese Option ermöglicht den Zugriff auf die Kernelkonfigurationsdatei über
|
||||
/proc/config.gz.
|
||||
|
||||
\subsection{Enable kernel headers through /sys/kernel/kheaders.tar.xz}
|
||||
CONFIG\_IKHEADERS [=m] \textbf{[M]}\\
|
||||
Diese Option ermöglicht den Zugriff auf die In-Kernel-Header, die während des
|
||||
Build-Prozesses erzeugt werden. Diese können verwendet werden, um
|
||||
eBPF-Tracing-Programme oder ähnliche Programme zu erstellen. Wenn Sie die Header
|
||||
als Modul erstellen, wird ein Modul namens kheaders.ko erstellt, das bei Bedarf
|
||||
geladen werden kann, um Zugriff auf die Header zu erhalten.
|
||||
|
||||
|
||||
\end{document}
|
||||
|
||||
Reference in New Issue
Block a user