Re: [PATCH v3] Add generic exponentially weighted moving average(EWMA) function

From: Peter Zijlstra
Date: Wed Oct 20 2010 - 11:04:01 EST


On Wed, 2010-10-20 at 17:23 +0900, Bruno Randolf wrote:
> +/**
> + * ewma_add() - Exponentially weighted moving average (EWMA)
> + * @avg: Average structure
> + * @val: Current value
> + *
> + * Add a sample to the average.
> + */
> +struct ewma*
> +ewma_add(struct ewma *avg, const unsigned int val)
> +{
> + avg->internal = avg->internal ?
> + (((avg->internal * (avg->weight - 1)) +
> + (val * avg->factor)) / avg->weight) :
> + (val * avg->factor);
> + return avg;
> +}
> +EXPORT_SYMBOL(ewma_add);

How can it be a weighted avg if each sample has the same weight?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/