Linux 6.11 内核在 vDSO 中引入了 getrandom(),以满足更快但更安全的用户空间随机数生成需求。除了等待 Glibc 使用 getrandom() vDSO 支持的补丁外,Golang 现在是此功能的另一个早期用户。
Golang 已合并对在支持的内核版本和架构上运行时在 Linux 上使用 getrandom() 的 vDSO 的支持。追求 getrandom() vDSO 支持的开源开发人员 Jason Donenfeld 还致力于 Golang 运行时支持和在 Linux 上将 vDSO 用于 getrandom() 的后续补丁。
事实上,将 vDSO 用于 getrandom() 可以显著提高性能: