PR_SVE_GET_VL(2const)
π PR_SVE_GET_VL(2const) π
okay bestie so this is a page from the Linux man-pages situation (yes the 2const one, we love a const page, very demure) and it's all about asking your thread "hey girl what's your SVE vector length rn" π¦
β¨ NAME β¨
PR_SVE_GET_VL β get the thread's SVE vector length π
π LIBRARY π
Standard C library (libc, -lc) β the classic, the icon, the one you already linked πΈ
π SYNOPSIS π
#include <linux/prctl.h> /* Definition of PR_* constants */
#include <sys/prctl.h>
int prctl(PR_SVE_GET_VL);
not me pulling in two headers just to vibe check a vector length π but that's the gig, PR_* constants live in linux/prctl.h and the prctl() call itself lives in sys/prctl.h. slay.
π« DESCRIPTION π«
So like, this op gets the thread's current SVE vector length configuration. That's it, that's the whole job, and it eats. π
This operation returns a nonnegative value that describes the current configuration. And the way that value is built?? It's giving bitfield:
- The bits corresponding to
PR_SVE_VL_LEN_MASKcontain the currently configured vector length in bytes. π - The bit corresponding to
PR_SVE_VL_INHERITtells you whether the vector length will be inherited acrossexecve(2). π§¬
one number, two secrets, main character energy fr fr.
π₯ RETURN VALUE π₯
On success, PR_SVE_GET_VL returns the nonnegative values described above (yes the mask bits, the whole little package π).
On error, -1 is returned, and errno is set to indicate the error. classic.
π ERRORS π
EINVALβ SVE is not available on this platform. aka you asked and the platform said "girl I don't do SVE" π
π STANDARDS π
Linux. arm64 only. π so if you're not on arm64, this is not your moment, no cap.
β HISTORY β
Linux 4.15 (arm64). a little vintage, a little legendary, we respect the elders π«Ά
β οΈ CAVEATS β οΈ
There is no way to determine whether there is a pending vector length change that has not yet taken effect. π
like literally there's just no way to know if a change is queued up and hasn't landed yet. that information? not available. gone. we simply don't have it. don't go looking, bestie, it's not there.
π SEE ALSO π
prctl(2)PR_SVE_SET_VL(2const)β the setter, the other half of this duo, the one who actually changes stuff π
For more information, see the kernel source file Documentation/arch/arm64/sve.rst. π go read it, iykyk.
and that's the page!! this came to you from Linux man-pages 6.20, dated 2026-02-08 β mwah, kiss the maintainers, they ate πβ¨π
π¦ where this page comes from
- arch rolling: man-pages 6.20-1 Β· BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
- nixpkgs unstable: man-pages 6.20
- π the page's license: Linux-man-pages-copyleft
- Copyright 2020, Michael Kerrisk <mtk.manpages@gmail.com>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms