Golang Now Enables Speedier getrandom() On Linux
([Programming] 5 Hours Ago
Golang + getrandom vDSO)
- Reference: 0001495330
- News link: https://www.phoronix.com/news/Goland-getrandom-vDSO
- Source link:
The Linux 6.11 kernel introduced [1]getrandom() in the vDSO for [2]faster yet secure user-space random number generation needs . In addition to patches pending for [3]Glibc to make use of getrandom() vDSO support , Golang is now another early user of this functionality.
Golang has merged support for using the vDSO for getrandom() on Linux when running on a supported kernel version and architecture. Open-source developer Jason Donenfeld who pursued the getrandom() vDSO support also worked on [4]the Golang runtime support and the follow-up [5]patch for using vDSO for getrandom() on Linux.
Indeed the noted performance gains are there for using vDSO for getrandom():
[1] https://www.phoronix.com/news/Linux-6.11-Lands-getrandom-vDSO
[2] https://www.phoronix.com/news/getrandom-vDSO-RNG-Linux-6.11
[3] https://www.phoronix.com/news/Glibc-Review-getrandom-vDSO
[4] https://github.com/golang/go/commit/eb6f2c24cd17c0ca1df7e343f8d9187eef7d6e13
[5] https://github.com/golang/sys/commit/981de40f5c9d8dc49087c2d351624288ee17b34c
Golang has merged support for using the vDSO for getrandom() on Linux when running on a supported kernel version and architecture. Open-source developer Jason Donenfeld who pursued the getrandom() vDSO support also worked on [4]the Golang runtime support and the follow-up [5]patch for using vDSO for getrandom() on Linux.
Indeed the noted performance gains are there for using vDSO for getrandom():
[1] https://www.phoronix.com/news/Linux-6.11-Lands-getrandom-vDSO
[2] https://www.phoronix.com/news/getrandom-vDSO-RNG-Linux-6.11
[3] https://www.phoronix.com/news/Glibc-Review-getrandom-vDSO
[4] https://github.com/golang/go/commit/eb6f2c24cd17c0ca1df7e343f8d9187eef7d6e13
[5] https://github.com/golang/sys/commit/981de40f5c9d8dc49087c2d351624288ee17b34c
cynic