Lines Matching refs:fast_pool
557 struct fast_pool { struct
569 static void fast_mix(struct fast_pool *f) in fast_mix() argument
860 static DEFINE_PER_CPU(struct fast_pool, irq_randomness);
883 static __u32 get_reg(struct fast_pool *f, struct pt_regs *regs) in get_reg()
897 struct fast_pool *fast_pool = this_cpu_ptr(&irq_randomness); in add_interrupt_randomness() local
907 cycles = get_reg(fast_pool, regs); in add_interrupt_randomness()
910 fast_pool->pool[0] ^= cycles ^ j_high ^ irq; in add_interrupt_randomness()
911 fast_pool->pool[1] ^= now ^ c_high; in add_interrupt_randomness()
913 fast_pool->pool[2] ^= ip; in add_interrupt_randomness()
914 fast_pool->pool[3] ^= (sizeof(ip) > 4) ? ip >> 32 : in add_interrupt_randomness()
915 get_reg(fast_pool, regs); in add_interrupt_randomness()
917 fast_mix(fast_pool); in add_interrupt_randomness()
920 if ((fast_pool->count < 64) && in add_interrupt_randomness()
921 !time_after(now, fast_pool->last + HZ)) in add_interrupt_randomness()
928 fast_pool->last = now; in add_interrupt_randomness()
929 __mix_pool_bytes(r, &fast_pool->pool, sizeof(fast_pool->pool)); in add_interrupt_randomness()
943 fast_pool->count = 0; in add_interrupt_randomness()