4 ms·
There is (or at least was, in 2014) a spinlock to serialize access: https://damonsnyder.com/2014/04/16/linux-dev-urandom-and-concurrency.html https://damonsnyde
by colanderman 4y ago
There is (or at least was, in 2014) a spinlock to serialize access: https://damonsnyder.com/2014/04/16/linux-dev-urandom-and-concurrency.html https://damonsnyder.com/2014/04/16/linux-dev-urandom-and-con...
- onei 4y agoIs that strictly true? I know urandom doesn't block if it lacked entropy, but if it had entropy I was under the impression urandom's output was derived from that instead.
- colanderman 4y agoEdited my post to include a link with code references and discussion by kernel devs. The RNG state is protected by a spinlock.
- ilyt 4y agoWell, a lot changed since the article. For one the test tool now eats more CPU than RNG. From my dumb tests (run DD in one, then many threads), the 4 thread run have 4x the performance of single thread one (I have 4 core CPU), while 16 thread one have predictably same-ish total throughput, so if there are any serialization still there it is not noticeable much.