Version 6.6.3
This commit is contained in:
@@ -533,7 +533,84 @@ Dies wird durch den Boot-Parameter "isolcpus=" gesteuert.\\
|
||||
Sagen Sie Y für ja, wenn Sie unsicher sind.
|
||||
|
||||
\subsection{RCU Subsystem \texorpdfstring{$\rightarrow$}{->}}
|
||||
Read -- Copy -- Update (Lesen, Kopieren, Aktualisieren)
|
||||
\subsubsection{Make expert-level adjustments to RCU configuration}
|
||||
CONFIG\_RCU\_EXPERT [=y] \textbf{[Y]}\\
|
||||
Diese Option muss aktiviert werden, wenn Sie Anpassungen der RCU-Konfiguration
|
||||
auf Expertenebene vornehmen möchten.
|
||||
Standardmäßig können solche Anpassungen nicht vorgenommen werden,
|
||||
was den oft vorteilhaften Nebeneffekt hat, dass "make oldconfig" Sie
|
||||
davon abhält, alle möglichen detaillierten Fragen darüber zu stellen,
|
||||
wie Sie zahlreiche obskure RCU-Optionen eingerichtet haben möchten.\\
|
||||
Sagen Sie Y, wenn Sie Anpassungen an RCU auf Expertenebene vornehmen müssen.\\
|
||||
Sagen Sie N, wenn Sie unsicher sind.
|
||||
|
||||
\subsubsection{Force selection of TASKS\_RCU}
|
||||
CONFIG\_FORCE\_TASKS\_RCU [=n] \textbf{[N]}\\
|
||||
Diese Option erzwingt eine aufgabenbasierte RCU-Implementierung die nur
|
||||
freiwillige Kontextwechsel verwendet (keine Preemption!), Leerlauf und
|
||||
Benutzermodus-Ausführung als Ruhezustände verwendet.
|
||||
Nicht für manuelle Auswahl in den meisten Fällen.
|
||||
|
||||
\subsubsection{Force selection of Tasks Rude RCU}
|
||||
CONFIG\_FORCE\_TASKS\_RUDE\_RCU [=n] \textbf{[N]}\\
|
||||
Diese Option erzwingt eine Task-basierte RCU-Implementierung, die nur
|
||||
Kontextwechsel (einschließlich Preemption) und die Ausführung im
|
||||
Benutzermodus als Ruhezustand verwendet. Sie erzwingt IPIs und
|
||||
Kontextwechsel auf allen Online-CPUs, auch auf den Idle-CPUs, also
|
||||
mit Vorsicht verwenden.
|
||||
In den meisten Fällen nicht für die manuelle Auswahl geeignet.
|
||||
|
||||
\subsubsection{Force selection of Tasks Trace RCU}
|
||||
CONFIG\_FORCE\_TASKS\_TRACE\_RCU [=n] \textbf{[N]}\\
|
||||
Diese Option ermöglicht eine Task-basierte RCU-Implementierung, die
|
||||
explizite rcu\_read\_lock\_trace()-Lesemarker verwendet und es ermöglicht,
|
||||
dass diese Leser sowohl in der Leerlaufschleife als auch in den
|
||||
CPU-Hotplug-Codepfaden erscheinen. Es kann IPIs auf Online-CPUs erzwingen,
|
||||
auch auf Idle-CPUs, also mit Vorsicht verwenden.
|
||||
In den meisten Fällen nicht für die manuelle Auswahl geeignet.
|
||||
|
||||
\subsubsection{Tree-based hierarchical RCU fanout value}
|
||||
CONFIG\_RCU\_FANOUT [=64] \textbf{[64]}\\
|
||||
Diese Option steuert den Fanout von hierarchischen Implementierungen von
|
||||
RCU, so dass RCU auf Maschinen mit einer großen Anzahl von CPUs effizient
|
||||
arbeiten kann. Dieser Wert muss mindestens die vierte Wurzel von NR\_CPUS
|
||||
sein, wodurch NR\_CPUS wahnsinnig groß werden kann. Der Standardwert von
|
||||
RCU\_FANOUT sollte für Produktionssysteme verwendet werden, aber wenn Sie
|
||||
die RCU-Implementierung selbst einem Stresstest unterziehen, ermöglichen
|
||||
kleine RCU\_FANOUT-Werte das Testen von Codepfaden für große Systeme auf
|
||||
kleinen (kleineren) Systemen.\\
|
||||
Wählen Sie eine bestimmte Zahl, wenn Sie RCU selbst testen.
|
||||
Nehmen Sie den Standardwert, wenn Sie unsicher sind.\\
|
||||
Symbol: RCU\_FANOUT [=64]\\
|
||||
Type : integer (Ganzzahl)\\
|
||||
Range : [2 64]
|
||||
|
||||
\subsubsection{Tree-based hierarchical RCU leaf-level fanout value}
|
||||
CONFIG\_RCU\_FANOUT\_LEAF [=16] \textbf{[16]}\\
|
||||
Diese Option steuert das Fanout auf Blattebene bei hierarchischen
|
||||
Implementierungen von RCU und ermöglicht es, Cache-Misses gegen
|
||||
Sperrkonflikte abzuwägen. Systeme, die ihre Scheduling-Clock-Interrupts
|
||||
aus Gründen der Energieeffizienz synchronisieren, werden die
|
||||
Standardeinstellung bevorzugen, da der kleinere Leaf-Level-Fanout die
|
||||
Lock-Contention-Level akzeptabel niedrig hält. Sehr große Systeme
|
||||
(Hunderte oder Tausende von CPUs) werden stattdessen diesen Wert auf den
|
||||
maximal möglichen Wert setzen wollen, um die Anzahl der Cache-Misses zu
|
||||
reduzieren, die während der Initialisierung der RCU-Grace-Periode auftreten.
|
||||
Diese Systeme neigen dazu, CPU-gebunden zu laufen, und werden daher nicht
|
||||
von synchronisierten Interrupts unterstützt, und neigen daher dazu, sie zu
|
||||
verzerren, was den Sperrkonflikt so weit reduziert, dass große Fanouts auf
|
||||
Blattebene gut funktionieren. Das heißt, wenn Sie den Fanout auf Blattebene
|
||||
auf eine große Zahl setzen, wird dies wahrscheinlich zu problematischen
|
||||
Sperrkonflikten auf den rcu\_node-Strukturen auf Blattebene führen, es sei
|
||||
denn, Sie booten mit dem Kernelparameter skew\_tick.\\
|
||||
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.
|
||||
Symbol: RCU\_FANOUT\_LEAF [=64]\\
|
||||
Type : integer (Ganzzahl)\\
|
||||
Range : [2 64]
|
||||
|
||||
\end{document}
|
||||
|
||||
Reference in New Issue
Block a user