C.6. Glock-Tracepoints


Die Tracepoints wurden auch konzipiert, um die Richtigkeit der Cache-Steuerung zu bestätigen, indem sie mit der blktrace-Ausgabe und mit der Kenntnis des Layouts der Festplatte kombiniert werden. Es ist dann möglich zu überprüfen, dass eine bestimmte I/O unter der richtigen Sperre ausgegeben und abgeschlossen wurde und dass keine Race-Bedingungen vorliegen.
Von allen Tracepoints ist es am wichtigsten, den Tracepoint gfs2_glock_state_change zu verstehen. Er verfolgt jede Statusänderung des Glocks von der ursprünglichen Erstellung bis hin zur endgültigen Herabstufung, die mit gfs2_glock_put und dem endgültigen Übergang von NL auf entsperrt endet. Das Glock-Flag l (locked) ist immer gesetzt, bevor eine Statusänderung erfolgt, und wird erst gelöscht, nachdem diese abgeschlossen ist. Während einer Statusänderung gibt es niemals gewährte Halter (das Glock-Halter-Flag H). Wenn es Halter in der Warteschlange gibt, werden sie immer im W (waiting) Status sein. Wenn die Statusänderung abgeschlossen ist, dann können die Halter gewährt werden, welches die letzte Operation ist, bevor das l-Glock-Flag gelöscht wird.
Der Tracepoint gfs2_demote_rq verfolgt Herabstufungsanfragen, sowohl lokal als auch remote. Vorausgesetzt, auf dem Knoten ist genügend Speicher vorhanden, dann treten die lokalen Herabstufungsanfragen nur selten auf. Meistens werden sie vom umount-Prozess oder durch gelegentliche Speicherrückforderungen erstellt. Die Anzahl der Remote-Herabstufungsanfragen ist ein Maß für den Konflikt zwischen den Knoten für eine bestimmte Inode- oder Ressourcengruppe.
Wenn einem Halter eine Sperre erteilt wird, wird gfs2_promote aufgerufen. Dies geschieht in der Endphase einer Statusänderung oder wenn eine Sperre angefordert wird, die sofort gewährt werden kann, da der Glock-Status bereits eine Sperre mit einem geeigneten Modus im Cache vorhält. Falls der Halter der erste ist, der auf diesem Glock gewährt wird, dann wird das f (first) Flag auf diesem Halter gesetzt. Dies wird derzeit nur von Ressourcengruppen verwendet.
Red Hat logoGithubRedditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

© 2024 Red Hat, Inc.