Hi Harald, On Tue, Jul 12, 2022 at 02:09:35PM +0200, Harald Freudenberger wrote: > > You've gone through the troubles of confirming experimentally what > > in_task() does, but that doesn't answer *why* it should be disallowed > > variously in each one of these contexts. > > I think, I showed this. The only real occurrences remaining for the > arch_get_random_seed_long() call is within softirq context when the > network layer tries to allocate some skb buffers. My personal feeling > about this is that it does not hurt - but I asked our network guys > and their feedback is clear: no way - every delay there may cause > high bandwidth traffic to stumble and this is to be absolutely avoided. > However, they can't give me any measurements. > > So yes, the intention is now with checking for in_task() to prevent > the trng call in hard and soft interrupt context. But still I'd like > to meet your condition to provide good random at kernel startup. That's too bad, but okay. Final question: do you see any of the in_task() vs in_whatever() semantics changing if arch_get_random_words{,_seed}() is ever implemented, which would reduce the current multitude of calls to the trng to a single call? Jason