From 31a1d2a39a8865b6a437eefb965af24974695ad7 Mon Sep 17 00:00:00 2001 From: Thomas Kuschel Date: Fri, 19 Dec 2025 07:54:45 +0100 Subject: [PATCH] UPD settings, 01_general_setup.tex --- .vscode/settings.json | 1 + .../linux_configuration_01_general_setup.tex | 36 +++++++++++++++++-- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 5071e7f..44fc1e8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3149,6 +3149,7 @@ "sofern", "SOFS", "softing", + "Softirqs", "Softlimits", "Softlock", "softlocking", diff --git a/documentation/linux_configuration_01_general_setup.tex b/documentation/linux_configuration_01_general_setup.tex index 6b655dc..40e6d6a 100644 --- a/documentation/linux_configuration_01_general_setup.tex +++ b/documentation/linux_configuration_01_general_setup.tex @@ -1,5 +1,5 @@ % linux_configuration_01_general_setup.tex -% since Linux 6.16 +% since Linux 6.18 \section{General setup \texorpdfstring{$\rightarrow$}{->}} %1.1 @@ -320,7 +320,7 @@ Die wichtigste Voraussetzung für das Funktionieren von Full-Dynticks ist die Un Es gibt aber auch noch andere Abhängigkeiten, die erfüllt werden müssen, damit die vollständigen Dynticks funktionieren.\\ Diese Option dient zum Testen, wenn eine Systemarchitektur das Backend für die Benutzerkontextverfolgung implementiert, aber noch nicht alle Anforderungen erfüllt, um die volle Dynticks-Funktion zu ermöglichen. Ohne die vollständigen Dynticks gibt es keine Möglichkeit, die Unterstützung für die Benutzerkontextverfolgung und die Teilsysteme, die darauf angewiesen sind, zu testen: -RCU Userspace extended quiescent state und tickless cputime accounting. +Erweiterter Ruhezustand im RCU-Benutzerspeicher und tickless cputime accounting. Diese Option kommt mit dem Fehlen des vollständigen dynticks-Subsystems zurecht, indem sie die Benutzerkontextverfolgung auf allen CPUs im System erzwingt. Sagen Sie nur dann ja (Y), wenn Sie an der Entwicklung eines Architektur-Backends für die Benutzerkontextverfolgung arbeiten. @@ -362,6 +362,12 @@ Bereich (Range): 50 -- 1000 The default is based on a half-second clocksource watchdog interval and NTP's maximum frequency drift of 500 parts per million. If the clocksource is good enough for NTP, it is good enough for the clocksource watchdog!} +\subsubsection{Enable auxiliary POSIX clocks} +CONFIG\_POSIX\_AUX\_CLOCKS [=n] \textbf{[N]}\\ +Hilfs-POSIX-Uhren sind Uhren, die unabhängig vom Kernzeitgeber gesteuert werden können, der die MONOTONIC-, REALTIME-, BOOTTIME- und TAI-Uhren steuert. +Sie sind nützlich, um beispielsweise lockless time accessors für unabhängige PTP-Uhren und andere Uhrdomänen bereitzustellen, die nicht mit dem TAI/NTP-Zeitbegriff korrelieren. +\english{Auxiliary POSIX clocks are clocks which can be steered independently of the core timekeeper, which controls the MONOTONIC, REALTIME, BOOTTIME and TAI clocks. They are useful to provide e.g. lockless time accessors to independent PTP clocks and other clock domains, which are not correlated to the TAI/NTP notion of time.} + %1.16 BPF subsystem \subsection{BPF subsystem \texorpdfstring{$\rightarrow$}{->}} Berkeley Packet Filter, Firewall-Filtertechnik im Kernel @@ -408,10 +414,17 @@ Unprivileged BPF could be used to exploit certain potential speculative executio If you are unsure how to answer this question, answer Y.} \subsubsection{Preload BPF file system with kernel specific program and map iterators \texorpdfstring{$\rightarrow$}{->}} -BPF\_PRELOAD [=n] \textbf{[N]}\\ +CONFIG\_BPF\_PRELOAD [=n] \textbf{[N]}\\ 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. \english{This builds kernel module with several embedded BPF programs that are pinned into BPF FS mount point as human readable files that are useful in debugging and introspection of BPF programs and maps.} +\subsubsection{Enable BPF LSM Instrumentation} +CONFIG\_BPF\_LSM [=y] \textbf{[Y]}\\ +Ermöglicht die Instrumentierung der Sicherheits-Hooks mit BPF-Programmen zur Implementierung dynamischer MAC- und Audit-Richtlinien. +Wenn Sie sich bei der Beantwortung dieser Frage unsicher sind, antworten Sie mit N. +\english{Enables instrumentation of the security hooks with BPF programs for implementing dynamic MAC and Audit Policies. +If you are unsure how to answer this question, answer N.} + \paragraph{bpf\_preload kernel module\\}$~$\\ \textit{Dies ist nur sichtbar wenn der übergeordnete Punkt aktiviert ist.}\\ CONFIG\_BPF\_PRELOAD\_UMD [=m] \textbf{[M]}\\* @@ -478,6 +491,22 @@ Wählen Sie dies, wenn Sie einen Kernel für Systeme erstellen, die Echtzeitgara This makes the kernel, except for very low level and critical code paths (entry code, scheduler, low level interrupt handling) fully preemptible and brings most execution contexts under scheduler control.\\ Select this if you are building a kernel for systems which require real-time guarantees.} +\subsubsection{Enforce softirq synchronisation on PREEMPT\_RT {\tiny seit 6.18}} +CONFIG\_PREEMPT\_RT\_NEEDS\_BH\_LOCK [=n] \textbf{[N]}\\ +Erzwingt die Synchronisation über den Softirqs-Kontext hinweg. +Bei PREEMPT\_RT ist der Softirq präemptiv. +Dadurch wird dieselbe BLK-Semantik pro CPU erzwungen, die auch in Nicht-PREEMPT\_RT-Builds vorhanden ist. +Dies sollte nicht erforderlich sein, da Sperren pro CPU hinzugefügt wurden, um die BKL pro CPU zu vermeiden. + +Dieser Schalter bietet das alte Verhalten zu Testzwecken. +Wählen Sie diese Option, wenn Sie einen Fehler bei vorrangigen Softirqs vermuten und das alte synchronisierte Verhalten testen möchten. +\english{Enforce synchronisation across the softirqs context. +On PREEMPT\_RT the softirq is preemptible. +This enforces the same per-CPU BLK semantic non-PREEMPT\_RT builds have. +This should not be needed because per-CPU locks were added to avoid the per-CPU BKL.\\ +This switch provides the old behaviour for testing reasons. +Select this if you suspect an error with preemptible softirq and want test the old synchronized behaviour.} + %1.19 Preemption behaviour defined on boot \subsection{Preemtion behaviour defined on boot} CONFIG\_PREEMPT\_DYNAMIC \colorbox{yellow!80}{[=y] \textbf{[N]}}\\ @@ -549,6 +578,7 @@ Dies ist die grundlegende tick-basierte Rechenzeitabrechnung, die Statistiken ü Wenn Sie unsicher sind, sagen Sie Y. \english{This is the basic tick based cputime accounting that maintains statistics about user, system and idle time spent on per jiffies granularity.\\ If unsure, say Y.} +\note{Diese Auswahl erscheint nur dann, wenn CONFIG\_S390 sowie CONFIG\_NO\_HZ\_FULL abgewählt sind (=N).} \paragraph{Full dynticks CPU time accounting} $~$\\ CONFIG\_VIRT\_CPU\_ACCOUNTING\_GEN \colorbox{yellow!0}{[=y] \textbf{[Y]}}\\*