On 2022-02-17 19:04:09 [+0100], Jason A. Donenfeld wrote: > For the irq randomness fast pool, rather than having to use expensive > atomics, which were visibly the most expensive thing in the entire irq > handler, simply take care of the extreme edge case of resetting count to > zero in the cpuhp online handler, just after workqueues have been > reenabled. This simplifies the code a bit and lets us use vanilla > variables rather than atomics, and performance should be improved. > > As well, very early on when the CPU comes up, while interrupts are still > disabled, we clear out the per-cpu crng and its batches, so that it > always starts with fresh randomness. > > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Cc: Theodore Ts'o <tytso@xxxxxxx> > Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > Cc: Sultan Alsawaf <sultan@xxxxxxxxxxxxxxx> > Cc: Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> > --- > v6 improves the comments around each of the cpuhp functions, as > requested. Perfect thank you. Did you miss my question regarding cross-CPU init in random_prepare_cpu()? Sebastian