Linux getrandom() vDSO 补丁更新为 ~15 倍加速

整个小暑,WireGuard 成名的 Jason Donenfeld提议将 getrandom() 添加到 vDSO中,以便用户空间开发人员享受更好的性能。上周,他发布了这个提议的内核补丁的最新版本,他看到这个变化带来了大约 15 倍的加速。

在 vDSO 中支持 getrandom() 旨在解决用户空间开发人员面临的两个问题:

1) 用户空间想要更快的加密安全随机数,任意大小,无论大小。

2) 用户空间目前无法使用与 getrandom() 相同的安全配置文件安全地滚动其自己的 RNG。

在讨论了在 vDSO 中实现 getrandom() 之后,Donenfeld 修改了补丁以合并反馈以避免行为更改并使 vgetrandom_alloc 成为系统调用。此外,还有一些其他较小的修复/更改。

Jason 在v3 帖子的结尾是:

到目前为止,在我的测试结果中,性能非常出色(uint32_t 生成大约是 15 倍),而且它似乎正在工作。有几个 TODO 位与实际的 random.c 生命周期集成,但作为早期的补丁集,这至少引入了预期的接口。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun191312.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2022年9月19日
下一篇 2022年9月19日