Lines Matching refs:avg
37 void ewma_init(struct ewma *avg, unsigned long factor, unsigned long weight) in ewma_init() argument
41 avg->weight = ilog2(weight); in ewma_init()
42 avg->factor = ilog2(factor); in ewma_init()
43 avg->internal = 0; in ewma_init()
54 struct ewma *ewma_add(struct ewma *avg, unsigned long val) in ewma_add() argument
56 unsigned long internal = ACCESS_ONCE(avg->internal); in ewma_add()
58 ACCESS_ONCE(avg->internal) = internal ? in ewma_add()
59 (((internal << avg->weight) - internal) + in ewma_add()
60 (val << avg->factor)) >> avg->weight : in ewma_add()
61 (val << avg->factor); in ewma_add()
62 return avg; in ewma_add()