PR_SET_THP_DISABLE(2const)

BEZEICHNUNG
PR_SET_THP_DISABLE - Setzt den Zustand der Schalter »THP disable« für den aufrufenden Thread

BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT
#include <linux/prctl.h>  /* Definition der PR_*-Konstanten */
#include <sys/prctl.h>

int prctl(PR_SET_THP_DISABLE, long thp_deaktivieren, unsigned long Schalter,
0L, 0L);

BESCHREIBUNG
Setzt den Zustand der Schalter »THP disable« für den aufrufenden Thread. Falls thp_deaktivieren einen von Null verschiedenen Wert hat, wird der Schalter »THP disable« gemäß des Wertes von Schalter gesetzt, andernfalls wird er bereinigt.

Dieser prctl(2) stellt eine Methode zur Deaktivierung transparenter riesiger Seiten (»huge pages«) für Aufträge bereit, deren Code nicht verändert werden kann und wo eine Verwendung eines malloc(3)-Hooks mit madvise(2) keine Option ist (d.h. statisch zugewiesene Daten). Die Einstellung der Schalter »THP disable« wird von einem Kindprozess über fork(2) geerbt und bleibt über execve(2) hinweg erhalten.

Das Verhalten hängt von dem Wert von Schalter ab:

0   Der Aufruf prctl(2) wird THPs komplett für den Prozess deaktivieren, unabhängig von den globalen THP-Steuerungen oder MADV_COLLAPSE.

PR_THP_DISABLE_EXCEPT_ADVISED
    Der Aufruf prctl(2) wird THPs für den Prozess deaktivieren, außer wenn die Verwendung von THPs angekündigt wird. Konsequenterweise werden THPs nur verwandt, falls:

    •   globale THP-Steuerungen auf »always« oder »madvise« gesetzt sind und madvise(…, MADV_HUGEPAGE) oder madvise(…, MADV_COLLAPSE) verwandt wird.

    •   globale THP-Steuerungen auf »never« gesetzt sind und madvise(…, MADV_COLLAPSE) verwandt wird. Dies ist das gleiche Verhalten, als ob THPs auf Prozessebene nicht deaktiviert würden.

RÜCKGABEWERT
Bei Erfolg wird 0 zurückgegeben. Bei einem Fehler wird -1 zurückgegeben und errno gesetzt, um den Fehler anzuzeigen.

STANDARDS
Linux.

GESCHICHTE
Linux 3.15.

SIEHE AUCH
prctl(2), PR_GET_THP_DISABLE(2const)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).