PR_FUTEX_HASH(2const) PR_FUTEX_HASH(2const) BEZEICHNUNG PR_FUTEX_HASH - Konfiguriert den privaten Futex-Hash BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include /* Definition der PR_*-Konstanten */ #include int prctl(PR_FUTEX_HASH, unsigned long akt, ); BESCHREIBUNG Konfiguriert die Attribute fur den zugrundeliegenden Hash, der von der futex(2)-Familie der Aktionen verwandt wird. Der Linux-Kernel verwendet einen Hash, um die unzusammenhangenden futex(2)-Anfragen an verschiedene Datenstrukturen zu verteilen, um den Zugangskonflikt fur Sperren zu reduzieren. Unzusammenhangende Anfragen sind Anfragen, die untereinander keinen Bezug haben, da sie ein verschiedenes Futex-Wort benutzen. Die Datenstrukturen halten die Kernel-interne Darstellung der Aktion und verfolgen die aktuellen Benutzer nach, die in der Warteschlage sind und auf ein Aufwachen warten. Sie stellt auch eine Synchronisation der Wartenden gegenuber den Aufwachern dar. Die Grosse des globalen Hashes wird zum Systemstartzeitpunkt bestimmt und basiert auf der Anzahl der CPUs in dem System. Aufgrund von Hash-Kollisionen konnen sich zwei unzusammenhangende futex(2)-Anfragen den gleichen Hash-Wert teilen. Dies kann wiederum zu Verzogerung bei der futex(2)-Aktion aufgrund von Zugangskonflikten beim Zugriff auf die Datenstruktur fuhren. Diese Verzogerungen konnen auf einem Echtzeitsystem problematisch sein, da zufallige Prozesse sich die gleichen Kernel-internen Sperren teilen konnen und es nicht deterministisch ist, welcher Prozess involviert ist. Linux 6.17 implementiert einen Prozess-weiten privaten Hash, der von allen futex(2)-Aktionen verwandt wird, die die Option FUTEX_PRIVATE_FLAG als Teil der Aktion festlegen. Ohne irgendwelche Konfiguration wird der Kernel 16 Hash-Positionen reservieren, sobald der erste Thread erstellt wurde. Falls der Prozess mit dem Erstellen von Threads fortfahrt, wird der Kernel versuchen, die Grosse des privaten Hashs basierend auf der Anzahl der Threads und der im System verfugbaren CPUs zu verandern. Der Kernel wird die Grosse nur erhohen und wird sicherstellen, das er nicht die Grosse des globalen Hashs uberschreitet. Der Benutzer kann die Grosse des privaten Hashes konfigurieren. Dies wird auch die vom Kernel bereitgestellte automatische Grossenanderung deaktivieren. Der Wert von akt ist einer der nachfolgenden Optionen. PR_FUTEX_HASH_GET_SLOTS PR_FUTEX_HASH_SET_SLOTS RUCKGABEWERT Im Erfolgsfall liefern diese Aufrufe einen nichtnegativen Wert zuruck. Im Fehlerfall wird -1 zuruckgeliefert und errno gesetzt, um den Fehler anzuzeigen. STANDARDS Linux. GESCHICHTE Linux 6.17. SIEHE AUCH prctl(2), futex(2), PR_FUTEX_HASH_GET_SLOTS(2const), PR_FUTEX_HASH_SET_SLOTS(2const) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer: . Linux man-pages 6.17 19. August 2025 PR_FUTEX_HASH(2const)