Lines Matching refs:fast_pool
602 struct fast_pool { struct
614 static void fast_mix(struct fast_pool *f) in fast_mix() argument
1217 static DEFINE_PER_CPU(struct fast_pool, irq_randomness);
1240 static __u32 get_reg(struct fast_pool *f, struct pt_regs *regs) in get_reg()
1258 struct fast_pool *fast_pool = this_cpu_ptr(&irq_randomness); in add_interrupt_randomness() local
1268 cycles = get_reg(fast_pool, regs); in add_interrupt_randomness()
1271 fast_pool->pool[0] ^= cycles ^ j_high ^ irq; in add_interrupt_randomness()
1272 fast_pool->pool[1] ^= now ^ c_high; in add_interrupt_randomness()
1274 fast_pool->pool[2] ^= ip; in add_interrupt_randomness()
1275 fast_pool->pool[3] ^= (sizeof(ip) > 4) ? ip >> 32 : in add_interrupt_randomness()
1276 get_reg(fast_pool, regs); in add_interrupt_randomness()
1278 fast_mix(fast_pool); in add_interrupt_randomness()
1282 if ((fast_pool->count >= 64) && in add_interrupt_randomness()
1283 crng_fast_load((char *) fast_pool->pool, in add_interrupt_randomness()
1284 sizeof(fast_pool->pool))) { in add_interrupt_randomness()
1285 fast_pool->count = 0; in add_interrupt_randomness()
1286 fast_pool->last = now; in add_interrupt_randomness()
1291 if ((fast_pool->count < 64) && in add_interrupt_randomness()
1292 !time_after(now, fast_pool->last + HZ)) in add_interrupt_randomness()
1299 fast_pool->last = now; in add_interrupt_randomness()
1300 __mix_pool_bytes(r, &fast_pool->pool, sizeof(fast_pool->pool)); in add_interrupt_randomness()
1314 fast_pool->count = 0; in add_interrupt_randomness()