table of contents
- trixie-backports 4.30.0-1~bpo13+2
- testing 4.30.0-1
- unstable 4.30.0-1
| PR_SVE_SET_VL(2const) | 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¶
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/arm64/sve.rst (oder Documentation/arm64/sve.txt vor Linux 5.3).
Ü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 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.
| 2. Juni 2024 | Linux man-pages 6.9.1 |