Hey Holger, On Tue, Jul 05, 2022 at 07:47:37PM +0200, Holger Dengler wrote: > A trng call runs for minimal ~20-190us for 32 bytes. 20us on newer > machine generations, 190us on older ones. These are not 100% exact > measurements, but the dimension should be correct. Holy smokes. Yea, okay, I see what you're saying. So indeed it sounds like the `!in_hardirq()` addition would be a good idea. Let's do that. Also, I noticed that the TRNG has a hwrng driver. That means the RNG will still be getting continuous input from it in a kthread, not an interrupt handler, so from a crypto PoV, we're not really losing /that/ much by adding the `!in_hardirq()` clause. So all and all, that seems like the simplest solution without too big of a downside. Jason