Lines Matching refs:fast_pool
586 struct fast_pool { struct
598 static void fast_mix(struct fast_pool *f) in fast_mix() argument
1194 static DEFINE_PER_CPU(struct fast_pool, irq_randomness);
1217 static __u32 get_reg(struct fast_pool *f, struct pt_regs *regs) in get_reg()
1235 struct fast_pool *fast_pool = this_cpu_ptr(&irq_randomness); in add_interrupt_randomness() local
1245 cycles = get_reg(fast_pool, regs); in add_interrupt_randomness()
1248 fast_pool->pool[0] ^= cycles ^ j_high ^ irq; in add_interrupt_randomness()
1249 fast_pool->pool[1] ^= now ^ c_high; in add_interrupt_randomness()
1251 fast_pool->pool[2] ^= ip; in add_interrupt_randomness()
1252 fast_pool->pool[3] ^= (sizeof(ip) > 4) ? ip >> 32 : in add_interrupt_randomness()
1253 get_reg(fast_pool, regs); in add_interrupt_randomness()
1255 fast_mix(fast_pool); in add_interrupt_randomness()
1259 if ((fast_pool->count >= 64) && in add_interrupt_randomness()
1260 crng_fast_load((char *) fast_pool->pool, in add_interrupt_randomness()
1261 sizeof(fast_pool->pool))) { in add_interrupt_randomness()
1262 fast_pool->count = 0; in add_interrupt_randomness()
1263 fast_pool->last = now; in add_interrupt_randomness()
1268 if ((fast_pool->count < 64) && in add_interrupt_randomness()
1269 !time_after(now, fast_pool->last + HZ)) in add_interrupt_randomness()
1276 fast_pool->last = now; in add_interrupt_randomness()
1277 __mix_pool_bytes(r, &fast_pool->pool, sizeof(fast_pool->pool)); in add_interrupt_randomness()
1291 fast_pool->count = 0; in add_interrupt_randomness()