Hello Theodore, I am currently investigating a better implementation of the arch_get_random_long_seed() implementation for s390. And so I stumbled over the function add_interrupt_randomness() in random.c and have one question regarding this code: void add_interrupt_randomness(int irq, int irq_flags) { ... fast_mix(fast_pool); ... if ((fast_pool->count < 64) && !time_after(now, fast_pool->last + HZ)) return; ... } The condition is true and terminates the function when the count value of the cpu fast pool is below 64 AND the time since last mix of the pool is lower than HZ (so lower than 1s). This means the code following this condition is run when the count value is > 64 or the last mix is more than 1s old. As the fast_mix() function does a fast_pool->count++ effectively every 64 invocations this condition is false and the rest of the function is executed. Is this the intention? Shouldn't the condition terminate the function either when there are fewer than 64 mixes in the pool OR time since last invocation is < 1 s ? regards Harald Freudenberger