Lines Matching defs:ewma
4906 unsigned int ewma, dequeued, last_ewma_diff;
4919 ewma = READ_ONCE(p->se.avg.util_est);
4925 if (ewma & UTIL_AVG_UNCHANGED)
4935 if (ewma <= dequeued) {
4936 ewma = dequeued;
4944 last_ewma_diff = ewma - dequeued;
4963 * ewma(t) = w * task_util(p) + (1-w) * ewma(t-1)
4964 * = w * task_util(p) + ewma(t-1) - w * ewma(t-1)
4965 * = w * (task_util(p) - ewma(t-1)) + ewma(t-1)
4966 * = w * ( -last_ewma_diff ) + ewma(t-1)
4967 * = w * (-last_ewma_diff + ewma(t-1) / w)
4972 ewma <<= UTIL_EST_WEIGHT_SHIFT;
4973 ewma -= last_ewma_diff;
4974 ewma >>= UTIL_EST_WEIGHT_SHIFT;
4976 ewma |= UTIL_AVG_UNCHANGED;
4977 WRITE_ONCE(p->se.avg.util_est, ewma);