Lines Matching refs:fast_pool
554 struct fast_pool { struct
566 static void fast_mix(struct fast_pool *f) in fast_mix() argument
840 static DEFINE_PER_CPU(struct fast_pool, irq_randomness);
863 static __u32 get_reg(struct fast_pool *f, struct pt_regs *regs) in get_reg()
877 struct fast_pool *fast_pool = this_cpu_ptr(&irq_randomness); in add_interrupt_randomness() local
887 cycles = get_reg(fast_pool, regs); in add_interrupt_randomness()
890 fast_pool->pool[0] ^= cycles ^ j_high ^ irq; in add_interrupt_randomness()
891 fast_pool->pool[1] ^= now ^ c_high; in add_interrupt_randomness()
893 fast_pool->pool[2] ^= ip; in add_interrupt_randomness()
894 fast_pool->pool[3] ^= (sizeof(ip) > 4) ? ip >> 32 : in add_interrupt_randomness()
895 get_reg(fast_pool, regs); in add_interrupt_randomness()
897 fast_mix(fast_pool); in add_interrupt_randomness()
900 if ((fast_pool->count < 64) && in add_interrupt_randomness()
901 !time_after(now, fast_pool->last + HZ)) in add_interrupt_randomness()
908 fast_pool->last = now; in add_interrupt_randomness()
909 __mix_pool_bytes(r, &fast_pool->pool, sizeof(fast_pool->pool)); in add_interrupt_randomness()
923 fast_pool->count = 0; in add_interrupt_randomness()