On 2022-02-13 18:37:33 [+0100], Jason A. Donenfeld wrote: > I started looking at this and came up with this draft with questions: > https://git.kernel.org/pub/scm/linux/kernel/git/crng/random.git/commit/?h=jd/no-irq-trylocks to | - Does anything anywhere call get_random_xx() before the worker has a | chance to run? Once you queue a work item I don't think that the scheduler needs to put it on the CPU right away. It may have already have other tasks waiting including some with a RT priority. Also, the lock is irqsave() so they can be users in an interrupt handler. I remember the original reason why I made it irqsave is because something did kmalloc() and SLUB somehow asked for random bits. > Some research remains... > > Jason Sebastian