PR_SVE_SET_VL(2const)

BEZEICHNUNG
PR_SVE_SET_VL - Setzt die SVE-Vektorlänge des Threads

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

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

int prctl(PR_SVE_SET_VL, unsigned long Wert);

BESCHREIBUNG
Konfiguriert die SVE-Vektorlänge des Threads wie in Wert angegeben.

Die Bits in Wert, die PR_SVE_VL_LEN_MASK entsprechen, müssen auf die gewünschte Vektorlänge in Byte gesetzt werden. Dies wird als obere Grenze interpretiert: der Kernel wird die größte verfügbare Vektorlänge auswählen, die den angegebenen Wert nicht überschreitet. Insbesondere fordert die Angabe von SVE_VL_MAX (in <asm/sigcontext.h> definiert) für die Bits PR_SVE_VL_LEN_MASK die maximale unterstützte Vektorlänge an.

Zusätzlich müssen die anderen Bits in Wert auf eine der folgenden Kombinationen der Werte von Schalter gesetzt werden:

0L  Die Änderung sofort ausführen. Beim nächsten execve(2) in dem Thread wird die Vektorlänge auf den in /proc/sys/abi/sve_default_vector_length konfigurierten Wert zurückgesetzt.

PR_SVE_VL_INHERIT
    Die Änderung sofort ausführen. Nachfolgende Aufrufe von execve(2) werden die neue Vektorlänge beibehalten.

PR_SVE_SET_VL_ONEXEC
    Die Änderung zurückstellen, so dass sie beim nächsten execve(2) im Thread ausgeführt wird. Weitere Aufrufe von execve(2) setzen die Vektorlänge auf den in /proc/sys/abi/sve_default_vector_length konfigurierten Wert zurück.

PR_SVE_SET_VL_ONEXEC | PR_SVE_VL_INHERIT
    Die Änderung zurückstellen, so dass sie beim nächsten execve(2) im Thread ausgeführt wird. Weitere Aufrufe von execve(2) behalten die neue Vektorlänge bei.

In allen Fällen werden die anhängenden zurückgestellten Änderungen abgebrochen.

Im Erfolgsfall wird ein nicht negativer Wert zurückgegeben, der die ausgewählte Konfiguration beschreibt. Falls PR_SVE_SET_VL_ONEXEC Teil von Wert ist, dann wird die im Rückgabewert beschriebene Konfiguration beim nächsten execve(2) wirksam werden. Andernfalls ist die Konfiguration bereits wirksam, wenn der Aufruf PR_SVE_SET_VL zurückkehrt. In jedem Fall wird der Wert auf die gleiche Art wie der Rückgabewert von PR_SVE_GET_VL kodiert. Beachten Sie, dass es keinen expliziten Schalter im Rückgabewert gibt, der PR_SVE_SET_VL_ONEXEC entspricht.

Die Konfiguration (einschließlich aller anhängigen zurückgestellten Änderungen) wird über fork(2) und clone(2) hinweg vererbt.

RÜCKGABEWERT
Im Erfolgsfall liefert PR_SVE_SET_VL den oben beschriebenen, nicht negativen Wert zurück. Im Fehlerfall wird -1 zurückgeliefert und errno gesetzt, um den Fehler anzuzeigen.

FEHLER

EINVAL
    SVE ist auf dieser Plattform nicht verfügbar.

EINVAL
    Der Wert in den Bits von Wert, der PR_SVE_VL_LEN_MASK entspricht, ist außerhalb des Bereichs [SVE_VL_MIN, SVE_VL_MAX] oder ist kein Vielfaches von 16.

EINVAL
    Die anderen Bits von Wert sind ungültig oder werden nicht unterstützt.

DATEIEN

/proc/sys/abi/sve_default_vector_length

STANDARDS
Linux. Nur Arm64.

GESCHICHTE
Linux 4.15 (Arm64).

WARNUNGEN
Da der Compiler oder die Laufzeitumgebung SVE nutzen könnte, könnte die Verwendung des Aufrufs ohne den Schalter PR_SVE_SET_VL_ONEXEC zum Absturz des aufrufenden Prozesses führen. Die Bedingungen, um ihn sicher zu verwenden, sind komplex und systemabhängig. Verwenden Sie ihn nur, wenn Sie genau wissen, was Sie tun.

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

Weitere Informationen finden Sie in der Kernelquelldatei Documentation/arch/arm64/sve.rst.

Ü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.