diff --git a/documentation/linux_configuration.pdf b/documentation/linux_configuration.pdf index 7af9d2b..f4f9260 100644 --- a/documentation/linux_configuration.pdf +++ b/documentation/linux_configuration.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:26169d1d606234ed44c3fde4b453ad324b03fc966f41c81dc19fcb2d358f4eda -size 1750082 +oid sha256:bfa2bc224dccb8b8b310005897873ba972f6e15abc5d9412ba8c77cbbc50ae67 +size 1749013 diff --git a/documentation/linux_configuration_01_general_setup.tex b/documentation/linux_configuration_01_general_setup.tex index c4cc005..5efa143 100644 --- a/documentation/linux_configuration_01_general_setup.tex +++ b/documentation/linux_configuration_01_general_setup.tex @@ -197,7 +197,7 @@ Aktivieren Sie eine Überwachungsinfrastruktur, die mit einem anderen Kernel-Sub verwendet werden kann, wie z.\,B. SELinux (das dies für die Protokollierung der Ausgabe von avc-Nachrichten benötigt). Die Systemaufrufüberprüfung ist auf Architekturen, die sie unterstützen, enthalten. - +%1.15 IRQ subsystem \subsection{IRQ subsystem \texorpdfstring{$\rightarrow$}{->}} Über diese Schnittstelle kann man Funktionen und Parameter für den Kernelbau auswählen. @@ -210,7 +210,7 @@ CONFIG\_GENERIC\_IRQ\_DEBUGFS [=n] \textbf{[N]}\\ Legt interne Zustandsinformationen über debugfs offen. Hauptsächlich für Entwickler und zur Fehlersuche bei schwer zu diagnostizierenden Interrupt-Problemen. - +%1.16 Timers subsystem \subsection{Timers subsystem \texorpdfstring{$\rightarrow$}{->}} \subsubsection{Timer tick handling \texorpdfstring{$\rightarrow$}{->}} Sie müssen aus den folgenden drei Möglichkeiten eine wählen: @@ -278,7 +278,7 @@ Sekunde und der maximalen Frequenzdrift von NTP von 500 Teilen pro Million. Wenn die Clocksource gut genug für NTP ist, ist sie auch gut genug für den Watchdog der Clocksource!\\ Bereich (Range): 50 -- 1000 - +%1.17 BPF subsystem \subsection{BPF subsystem \texorpdfstring{$\rightarrow$}{->}} Berkeley Packet Filter, Firewall-Filtertechnik im Kernel @@ -361,6 +361,7 @@ Arbeiten mit Applikationen aus Nutzersicht erreicht, sogar unter Volllast. Wähle diese Einstellung, wenn man einen Desktop oder ein Embedded-System mit einer Latenz im Millisekundenbereich möchte. Natürlich geht diese Einstellung mit einem leicht geringerem Durchsatz an Rechenleistung einher. +%1.19 Preemption behaviour defined on boot \subsection{Preemtion behaviour defined on boot} CONFIG\_PREEMPT\_DYNAMIC \colorbox{yellow!80}{[=y] \textbf{[N]}}\\ Diese Option ermöglicht es, das Präemptionsmodell über den @@ -384,7 +385,7 @@ werden soll. Wir setzen dies nicht, da wir wissen, dass der Kernal für den Desktop kompiliert wird. \end{scriptsize} -%1.20 +%1.20 Core Scheduling for SMT \subsection{Core Scheduling for SMT} CONFIG\_SCHED\_CORE [=y] \textbf{[Y]}\\ Kern-Scheduling für SMT @@ -450,6 +451,7 @@ wish to implement scheduling policies. The struct\_ops structure exported by sched\_ext is struct sched\_ext\_ops, and is conceptually similar to struct sched\_class.} \end{small} +%1.22 CPU/Task time and stats accounting \subsection{CPU/Task time and stats accounting \texorpdfstring{$\rightarrow$}{->}} \subsubsection{Cputime accounting (Full dynticks CPU time accounting) \texorpdfstring{$\rightarrow$}{->}} @@ -914,7 +916,7 @@ Dieses System ist auf UMA"=Systemen inaktiv. CONFIG\_NUMA\_BALANCING\_DEFAULT\_ENABLED [=y] \textbf{[Y]}\\ Wenn diese Option gesetzt ist, wird der automatische NUMA"=Ausgleich aktiviert, wenn das System auf einem NUMA"=Rechner läuft. -%1.32 +%1.32 Control Group support \subsection{Control Group support \texorpdfstring{$\rightarrow$}{->}} CONFIG\_CGROUPS [=y] \textbf{[Y]}\\ (Unterstützung der Kontrollgruppe)\\ @@ -928,7 +930,7 @@ oder Geräteisolierung. Isolierung und Ressourcenkontrolle) \end{itemize} Sagen Sie N, wenn Sie unsicher sind. - +%1.32.1 \subsubsection{Favor dynamic modification latency reduction by default} CONFIG\_CGROUP\_FAVOR\_DYNMODS [=n] \textbf{[N]}\\ Diese Option aktiviert standardmäßig die Einhängeoption @@ -937,7 +939,7 @@ wie Task-Migrationen und Controller-Ein-/Ausschaltungen auf Kosten von Hot-Path-Operationen wie Forks und Exits verteuert.\\ Sagen Sie N, wenn Sie unsicher sind. - +%1.32.2 \subsubsection{Memory controller} CONFIG\_MEMCG [=y] \textbf{[Y]}\\ Ermöglicht die Kontrolle über den Speicherbedarf von Tasks in einer cgroup. @@ -983,7 +985,7 @@ CONFIG\_BFQ\_GROUP\_IOSCHED=y; für die Aktivierung der Drosselungspolitik setzen Sie CONFIG\_BLK\_DEV\_THROTTLING=y.\\ Weitere Informationen finden Sie unter Documentation/admin-guide/cgroup-v1/blkio-controller.rst. - +%1.32.4 \subsubsection{CPU controller \texorpdfstring{$\rightarrow$}{->}} CONFIG\_CGROUP\_SCHED [=y] \textbf{[Y]}\\ Diese Funktion ermöglicht es dem CPU-Scheduler, Task"=Gruppen zu erkennen und @@ -1009,21 +1011,22 @@ zuweisen. Wenn sie aktiviert ist, wird es auch unmöglich, Echtzeitaufgaben für Nicht"=Root"=Benutzer zu planen, bis Sie ihnen Echtzeitbandbreite zuweisen.\\ Weitere Informationen finden Sie unter Documentation/scheduler/sched-rt-group.rst. -\subsubsection{Utilization clamping per group of tasks} -CONFIG\_UCLAMP\_TASK\_GROUP [=y] \textbf{[Y]}\\ -Mit dieser Funktion kann der Scheduler die geklemmte Auslastung jeder CPU auf der -Grundlage der RUNNABLE"=Tasks, die derzeit auf dieser CPU geplant sind, verfolgen. -Wenn diese Option aktiviert ist, kann der Benutzer eine minimale und maximale -CPU-Bandbreite angeben, die für jede einzelne Aufgabe in einer Gruppe zulässig ist. -Mit der maximalen Bandbreite kann die maximale Frequenz, die ein Task verwenden kann, -festgelegt werden, während mit der minimalen Bandbreite eine minimale Frequenz -festgelegt werden kann, die ein Task immer verwenden wird. -Bei aktivierter aufgabengruppenbasierter Auslastungsbegrenzung wird ein eventuell -angegebener aufgabenspezifischer Begrenzungswert durch den von cgroup angegebenen -Begrenzungswert eingeschränkt. Sowohl die minimale als auch die maximale Task"=Klemmung -kann nicht größer sein als die entsprechende auf Task"=Gruppen"=Ebene definierte Klemmung.\\ -Im Zweifelsfall sagen Sie N. +%\subsubsection{Utilization clamping per group of tasks} +%CONFIG\_UCLAMP\_TASK\_GROUP [=y] \textbf{[Y]}\\ +%Mit dieser Funktion kann der Scheduler die geklemmte Auslastung jeder CPU auf der +%Grundlage der RUNNABLE"=Tasks, die derzeit auf dieser CPU geplant sind, verfolgen. +%Wenn diese Option aktiviert ist, kann der Benutzer eine minimale und maximale +%CPU-Bandbreite angeben, die für jede einzelne Aufgabe in einer Gruppe zulässig ist. +%Mit der maximalen Bandbreite kann die maximale Frequenz, die ein Task verwenden kann, +%festgelegt werden, während mit der minimalen Bandbreite eine minimale Frequenz +%festgelegt werden kann, die ein Task immer verwenden wird. +%Bei aktivierter aufgabengruppenbasierter Auslastungsbegrenzung wird ein eventuell +%angegebener aufgabenspezifischer Begrenzungswert durch den von cgroup angegebenen +%Begrenzungswert eingeschränkt. Sowohl die minimale als auch die maximale Task"=Klemmung +%kann nicht größer sein als die entsprechende auf Task"=Gruppen"=Ebene definierte Klemmung.\\ +%Im Zweifelsfall sagen Sie N. +%1.32.5 \subsubsection{PIDs controller} CONFIG\_CGROUP\_PIDS [=y] \textbf{[Y]}\\ Erzwingt die Begrenzung der Prozessanzahl im Bereich einer cgroup. Jeder Versuch, mehr @@ -1044,6 +1047,7 @@ für andere Verbraucher nicht mehr verfügbar sind. Der RDMA-Controller ist daf dies zu verhindern. Das Anhängen von Prozessen mit aktiven RDMA-Ressourcen an die cgroup-Hierarchie ist erlaubt, auch wenn die Grenze der Hierarchie überschritten werden kann. +%1.32.7 Freezer controller \subsubsection{Freezer controller} CONFIG\_CGROUP\_FREEZER [=y] \textbf{[Y]}\\ Ermöglicht das Einfrieren und Aufheben des Einfrierens aller Aufgaben in einer C-Group. @@ -1062,6 +1066,7 @@ dass die Anwendung im Voraus weiß, wie viele HugeTLB-Seiten sie für ihre Nutzu Die Kontrollgruppe wird im dritten Page-lru-Zeiger verfolgt. Dies bedeutet, dass wir die Steuergruppe nicht mit einer riesigen Seite von weniger als 3~Seiten verwenden können. +%1.32.9 Cpuset controller \subsubsection{Cpuset controller} CONFIG\_CPUSETS [=y] \textbf{[Y]}\\ Mit dieser Option können Sie CPUSETs erstellen und verwalten, die es ermöglichen, ein System @@ -1092,6 +1097,8 @@ CONFIG\_PROC\_PID\_CPUSET [=y] \textbf{[Y]}\\ \\There is no help available for this option. } \end{small} + +%1.32.10 Device controller \subsubsection{Device controller} CONFIG\_CGROUP\_DEVICE [=y] \textbf{[Y]}\\ Bietet einen cgroup-Controller an, der Whitelists für Geräte implementiert, @@ -1103,6 +1110,7 @@ CONFIG\_CGROUP\_CPUACCT [=y] \textbf{[Y]}\\* Bietet einen einfachen Controller für die Überwachung des gesamten CPU"=Verbrauchs der Tasks in einer cgroup an. +%1.32.12 Perf controller \subsubsection{Perf controller} CONFIG\_CGROUP\_PERF [=y] \textbf{[Y]}\\ Diese Option erweitert den Modus perf per-cpu, um die Überwachung auf Threads zu beschränken, @@ -1120,6 +1128,7 @@ In welchem Kontext auf diese Programme zugegriffen wird, hängt von der Art des Zum Beispiel werden Programme, die mit BPF\_CGROUP\_INET\_INGRESS angehängt werden, auf dem Ingress"=Pfad von inet"=Sockets ausgeführt. +%1.32.14 Misc resource controller \subsubsection{Misc resource controller} CONFIG\_CGROUP\_MISC [=y] \textbf{[Y]}\\ Bietet einen Controller für verschiedene Ressourcen auf einem Host. @@ -1129,13 +1138,15 @@ verschiedenen Ressourcen, die von einem Prozess verwendet werden, der an eine cgroup"=Hierarchie angeschlossen ist. Weitere Informationen finden Sie im Abschnitt misc cgroup in /Documentation/admin-guide/cgroup-v2.rst. +%1.32.15 Debug controller \subsubsection{Debug controller} CONFIG\_CGROUP\_DEBUG [=n] \textbf{[N]}\\ Diese Option aktiviert einen einfachen Controller, der Debugging"=Informationen über das cgroups"=Frame\-work exportiert. Dieser Controller ist nur für das Debugging von Kontroll-C"=Gruppen gedacht. Seine Schnitt\-stellen sind nicht stabil.\\ Sagen Sie N. -%1.33 + +%1.33 Namespaces support \subsection{Namespaces support \texorpdfstring{$\rightarrow$}{->}} CONFIG\_NAMESPACES [=y] \textbf{[Y]}\\ (Unterstützung von Namensräumen, namespaces)\\ @@ -1186,7 +1197,7 @@ zu haben, solange sie sich in verschiedenen pid-Namensräumen befinden. Dies is \subsubsection{Network namespace} CONFIG\_NET\_NS [=y] \textbf{[Y]}\\ Ermöglicht es dem Benutzer, scheinbar mehrere Instanzen des Netzwerkstapels zu erstellen. -%1.34 +%1.34 Checkpoint/restore support \subsection{Checkpoint/restore support} CONFIG\_CHECKPOINT\_RESTORE [=y] \textbf{[Y]}\\ Ermöglicht zusätzliche Kernel-Funktionen in einer Art Checkpoint/Restore. @@ -1194,7 +1205,7 @@ Insbesondere fügt es zu\-sätz\-liche prctl"=Codes zum Einrichten von Prozesste sowie einige zusätzliche \texttt{/proc}-Dateisystemeinträge hinzu.\\ Wenn Sie unsicher sind, geben Sie hier N an. -%1.35 +%1.35 Automatic process group scheduling \subsection{Automatic process group scheduling} CONFIG\_SCHED\_AUTOGROUP [=y] \textbf{[Y]}\\ Mit dieser Option wird der Scheduler für gängige Desktop"=Workloads optimiert, @@ -1202,6 +1213,7 @@ indem automatisch Aufgabengruppen erstellt und aufgefüllt werden. Diese Trennung von Arbeitslasten isoliert aggressive CPU"=Brenner (wie Build"=Jobs) von Desktop"=Anwendungen. Die automatische Erstellung von Aufgabengruppen basiert derzeit auf der Aufgabensitzung. +%1.36 Kernel -> user space relay support (formerly relayfs) \subsection{Kernel\texorpdfstring{$\rightarrow$}{->}user space relay support (formerly relayfs)} CONFIG\_RELAY [=y] \textbf{[Y]}\\ Diese Option aktiviert die Unterstützung für die Relaisschnittstelle in bestimmten Dateisystemen @@ -1209,6 +1221,7 @@ Diese Option aktiviert die Unterstützung für die Relaisschnittstelle in bestim zur Weiterleitung großer Datenmengen aus dem Kernelbereich in den Benutzerbereich bereitzustellen.\\ Wenn Sie unsicher sind, sagen Sie N. +%1.37 Initial RAM filesystem and RAM disk (initramfs/initrd) support \subsection{Initial RAM filesystem and RAM disk (initramfs/initrd) support} CONFIG\_BLK\_DEV\_INITRD [=y] \textbf{[Y]}\\ Das anfängliche RAM-Dateisystem ist ein ramfs, das vom Bootloader (loadlin oder lilo) geladen und vor @@ -1219,7 +1232,7 @@ Wenn die RAM"=Disk"=Unterstützung\\ (BLK\_DEV\_RAM) eben\-falls enthalten ist, aktiviert dies auch die anfängliche RAM"=Disk"=Unterstützung (initrd) und fügt \qty{15}{\kilo\byte} (auf einigen anderen Architekturen mehr) zur Kernelgröße hinzu.\\ Wenn Sie unsicher sind, sagen Sie Y. - +%1.37.1 \subsubsection{Initramfs source file(s)} CONFIG\_INITRAMFS\_SOURCE [=] \textbf{[~]}\\ Dies kann entweder ein einzelnes cpio-Archiv mit der Endung .cpio oder eine durch Leerzeichen getrennte @@ -1235,7 +1248,7 @@ für weitere Details.\\ Wenn Sie sich nicht sicher sind, lassen Sie das Feld leer.\\ Symbol: INITRAMFS\_SOURCE [=]\\ Type : string (Zeichenkette) - +%1.37.2 Support initial ramdisk/ramfs compressed using gzip \subsubsection{Support initial ramdisk/ramfs compressed using gzip} CONFIG\_RD\_GZIP \colorbox{yellow!80}{[=y] \textbf{[N]}}\\ Unterstützung des Ladens eines gzip-kodierten Anfangs-Ramdisk- @@ -1290,12 +1303,14 @@ Wenn Sie unsicher sind, sagen Sie Y. Seit dem Kernel 5.9 wird standardmäßig mit ZSTD komprimiert. \end{scriptsize} +%1.37.8 Support initial ramdisk/ramfs compressed using ZSTD \subsubsection{Support initial ramdisk/ramfs compressed using ZSTD} CONFIG\_RD\_ZSTD [=y] \textbf{[Y]}\\ Unterstützung des Ladens eines ZSTD-kodierten Anfangs-Ramdisk- oder Cpio-Puffers.\\ Wenn Sie unsicher sind, sagen Sie Y. +%1.38 Boot config support \subsection{Boot config support} CONFIG\_BOOT\_CONFIG [=y] \textbf{[Y]}\\ Extra boot config ermöglicht es dem Systemadministrator, eine Konfigurationsdatei @@ -1305,7 +1320,6 @@ magischem Wort angehängt werden.\\ Siehe $<$file:Documentation/admin-guide/bootconfig.rst$>$ für Details.\\ Wenn Sie unsicher sind, sagen Sie Y. - \subsubsection{Force unconditional bootconfig processing} CONFIG\_BOOT\_CONFIG\_FORCE [=n] \textbf{[N]}\\ Wenn diese Kconfig-Option gesetzt ist, wird die BOOT\_CONFIG-Verarbeitung auch dann @@ -1322,6 +1336,7 @@ jedoch initrd nicht unterstützt, hilft Ihnen diese Option, indem sie eine bootc beim Erstellen des Kernels einbettet.\\ Wenn Sie unsicher sind, sagen Sie N. +%1.39 Preserve cpio archive mtimes in initramfs \subsection{Preserve cpio archive mtimes in initramfs} CONFIG\_INITRAMFS\_PRESERVE\_MTIME [=y] \textbf{[Y]}\\ Jeder Eintrag in einem initramfs cpio-Archiv enthält einen mtime-Wert. @@ -1330,6 +1345,7 @@ wobei die mtime-Einstellung des Verzeichnisses aufgeschoben wird, bis nach der Erstellung aller untergeordneten Einträge.\\ Wenn Sie unsicher sind, sagen Sie Y. +%1.40 Compiler optimization level \subsection{Compiler optimization level \texorpdfstring{$\rightarrow$}{->}} Optimierungsgrad des Compilers, Auswahl aus den folgenden zwei Punkten: @@ -1344,6 +1360,7 @@ CONFIG\_CC\_OPTIMIZE\_FOR\_SIZE [=n] \textbf{[N]}\\ Wenn Sie diese Option wählen, wird \texttt{-Os} an Ihren Compiler übergeben, was zu einem kleineren Kernel führt. +%1.41 Configure standard kernel features (expert users) \subsection{Configure standard kernel features (expert users)} CONFIG\_EXPERT [=n] \textbf{[~]}\\ Mit dieser Option können bestimmte Basis-Kerneloptionen und -einstellungen @@ -1351,6 +1368,10 @@ deaktiviert oder optimiert werden. Dies ist für spezielle Umgebungen gedacht, die einen \glqq Nicht-Standard\grqq{}-Kernel tolerieren können.\\ Verwenden Sie diese Option nur, wenn Sie wirklich wissen, was Sie tun. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + \subsubsection{Load all symbols for debugging/ksymoops} CONFIG\_KALLSYMS [=y] \textbf{[Y]}\\ (sichtbar wenn EXPERT [=n])\\