UPD Group scheduling for SCHED_RR/FIFO

This commit is contained in:
2023-12-02 22:31:47 +01:00
parent a7e9e5fa5f
commit 2e45f34b77
2 changed files with 75 additions and 2 deletions

View File

@@ -842,11 +842,84 @@ Im Zweifelsfall sollten Sie den Standardwert verwenden.
\subsection{Memory placement aware NUMA scheduler} \subsection{Memory placement aware NUMA scheduler}
CONFIG\_NUMA\_BALANCING [=y] \textbf{[Y]}\\ CONFIG\_NUMA\_BALANCING [=y] \textbf{[Y]}\\
Diese Option fügt Unterstützung für automatische NUMA-bewusste Diese Option bietet Unterstützung für die automatische
Speicher-/Task-Platzierung hinzu. NUMA-kompatible Speicher-/Task-Platzierung.
Der Mechanismus ist recht primitiv und basiert darauf, dass Speicher Der Mechanismus ist recht primitiv und basiert darauf, dass Speicher
migriert wird, wenn er Referenzen auf den Knoten hat, auf dem die Aufgabe läuft.\\ migriert wird, wenn er Referenzen auf den Knoten hat, auf dem die Aufgabe läuft.\\
Dieses System ist auf UMA-Systemen inaktiv. Dieses System ist auf UMA-Systemen inaktiv.
\subsubsection{Automatically enable NUMA aware memory/task placemnent}
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.
\subsection{Control Group support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_CGROUPS [=y] \textbf{[Y]}\\
(Unterstützung der Kontrollgruppe)\\
Diese Option bietet Unterstützung für die Gruppierung von Prozessgruppen zur Verwendung mit Prozesskontrollsubsystemen wie Cpusets, CFS, Speicherkontrolle oder Geräteisolierung.
\\Siehe
\begin{itemize}
\item Dokumentation/scheduler/sched-design-CFS.rst (CFS)
\item Documentation/admin-guide/cgroup-v1/ (Funktionen für Gruppierung,
Isolierung und Ressourcenkontrolle)
\end{itemize}
Sagen Sie N, wenn Sie unsicher sind.
\subsubsection{Favor dynamic modification latency reduction by default}
CONFIG\_CGROUP\_FAVOR\_DYNMODS [=n] \textbf{[N]}\\
Diese Option aktiviert standardmäßig die Einhängeoption
\glqq favordynmods\grqq{}, die die Latenzzeiten dynamischer C-Gruppen-Änderungen
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.
\subsubsection{Memory controller}
CONFIG\_MEMCG [=y] \textbf{[Y]}\\
Ermöglicht die Kontrolle über den Speicherbedarf von Tasks in einer cgroup.
\subsubsection{IO controller}
CONFIG\_BLK\_CGROUP [=y] \textbf{[Y]}\\
Generische Block IO Controller cgroup Schnittstelle. Dies ist die gemeinsame
cgroup-Schnittstelle, die von verschiedenen IO-Kontrollstrategien verwendet
werden sollte.\\
Derzeit wird sie vom CFQ IO Scheduler zur Erkennung von Task-Gruppen und zur
Steuerung der Zuweisung von Festplattenbandbreite (proportionale
Zeitscheibenzuweisung) an solche Task-Gruppen verwendet. Sie wird auch von
der Bio-Throttling-Logik in der Blockschicht verwendet, um eine Obergrenze
für die IO-Raten auf einem Gerät einzuführen.\\
Diese Option aktiviert nur die generische Infrastruktur des Block-IO-Controllers.
Man muss auch die tatsächliche IO-Kontrolllogik/-Politik aktivieren.
Um die proportionale Aufteilung der Festplattenbandbreite in CFQ zu aktivieren,
setzen Sie
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.
\subsubsection{CPU controller \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_CGROUP\_SCHED [=y] \textbf{[Y]}\\
Diese Funktion ermöglicht es dem CPU-Scheduler, Task-Gruppen zu erkennen und
die Zuweisung von CPU-Bandbreite an solche Task-Gruppen zu steuern.
Er verwendet cgroups, um Tasks zu gruppieren.
\paragraph{Group scheduling for SCHED\_OTHER}$~$\\
CONFIG\_FAIR\_GROUP\_SCHED [=y] \textbf{[Y]}\\
(keine Hilfe verfügbar)
\subparagraph{CPU bandwidth provisioning for FAIR\_GROUP\_SCHED}$~$\\
CONFIG\_CFS\_BANDWIDTH [=y] \textbf{[Y]}\\
Mit dieser Option können Benutzer CPU-Bandbreitenraten (Limits) für Aufgaben
festlegen, die innerhalb des Fair Group Schedulers laufen.
Gruppen, für die kein Limit festgelegt wurde, gelten als uneingeschränkt
und werden ohne Einschränkung ausgeführt.\\
Weitere Informationen finden Sie unter Documentation/scheduler/sched-bwc.rst.
\paragraph{Group scheduling for SCHED\_RR/FIFO}$~$\\
CONFIG\_RT\_GROUP\_SCHED [=n] \textbf{[N]}\\
Mit dieser Funktion können Sie den Task-Gruppen explizit echte CPU-Bandbreite
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.
\end{document} \end{document}