.\" -*- coding: UTF-8 -*- .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH PR_FUTEX_HASH 2const "19. August 2025" "Linux man\-pages 6.17" .SH BEZEICHNUNG PR_FUTEX_HASH \- Konfiguriert den privaten Futex\-Hash .SH BIBLIOTHEK Standard\-C\-Bibliothek (\fIlibc\fP,\ \fI\-lc\fP) .SH ÜBERSICHT .nf \fB#include \fP /* Definition der \fBPR_*\fP\-Konstanten */ \fB#include \fP .P \fBint prctl(PR_FUTEX_HASH, unsigned long \fP\fIakt\fP\fB, …);\fP .fi .SH BESCHREIBUNG Konfiguriert die Attribute für den zugrundeliegenden Hash, der von der \fBfutex\fP(2)\-Familie der Aktionen verwandt wird. Der Linux\-Kernel verwendet einen Hash, um die unzusammenhängenden \fBfutex\fP(2)\-Anfragen an verschiedene Datenstrukturen zu verteilen, um den Zugangskonflikt für Sperren zu reduzieren. Unzusammenhängende 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 gegenüber den Aufwachern dar. Die Größe des globalen Hashes wird zum Systemstartzeitpunkt bestimmt und basiert auf der Anzahl der CPUs in dem System. Aufgrund von Hash\-Kollisionen können sich zwei unzusammenhängende \fBfutex\fP(2)\-Anfragen den gleichen Hash\-Wert teilen. Dies kann wiederum zu Verzögerung bei der \fBfutex\fP(2)\-Aktion aufgrund von Zugangskonflikten beim Zugriff auf die Datenstruktur führen. Diese Verzögerungen können auf einem Echtzeitsystem problematisch sein, da zufällige Prozesse sich die gleichen Kernel\-internen Sperren teilen können und es nicht deterministisch ist, welcher Prozess involviert ist. .P Linux 6.17 implementiert einen Prozess\-weiten privaten Hash, der von allen \fBfutex\fP(2)\-Aktionen verwandt wird, die die Option \fBFUTEX_PRIVATE_FLAG\fP 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 fortfährt, wird der Kernel versuchen, die Größe des privaten Hashs basierend auf der Anzahl der Threads und der im System verfügbaren CPUs zu verändern. Der Kernel wird die Größe nur erhöhen und wird sicherstellen, das er nicht die Größe des globalen Hashs überschreitet. .P Der Benutzer kann die Größe des privaten Hashes konfigurieren. Dies wird auch die vom Kernel bereitgestellte automatische Größenänderung deaktivieren. .P Der Wert von \fIakt\fP ist einer der nachfolgenden Optionen. .TP \fBPR_FUTEX_HASH_GET_SLOTS\fP .TQ \fBPR_FUTEX_HASH_SET_SLOTS\fP .SH RÜCKGABEWERT Im Erfolgsfall liefern diese Aufrufe einen nichtnegativen Wert zurück. Im Fehlerfall wird \-1 zurückgeliefert und \fIerrno\fP gesetzt, um den Fehler anzuzeigen. .SH STANDARDS Linux. .SH GESCHICHTE Linux 6.17. .SH "SIEHE AUCH" \fBprctl\fP(2), \fBfutex\fP(2), \fBPR_FUTEX_HASH_GET_SLOTS\fP(2const), \fBPR_FUTEX_HASH_SET_SLOTS\fP(2const) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: .MT debian-l10n-german@lists.debian.org .ME .