mac80211: use DECLARE_EWMA for mesh_fail_avg
authorManoharan, Rajkumar <rmanohar@qca.qualcomm.com>
Tue, 14 Feb 2017 20:27:16 +0000 (12:27 -0800)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 6 Mar 2017 08:21:21 +0000 (09:21 +0100)
commit3eb0928fc3e4b4702462164b399acddb7f0f09fd
treea65b5465141c89095abf3a7021019b1aeeafba57
parent8d70eeb84ab277377c017af6a21d0a337025dede
mac80211: use DECLARE_EWMA for mesh_fail_avg

As moving average is not considering fractional part, it will
get stuck at the same level after certain state. For example,
with current values, it can get stuck at 96. Fortunately the
current threshold 95%, but if it were increased to 96 or more
mesh paths would never be deactivated. Fix failure average
movement by using EWMA helpers, which does take into account
fractional parts.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
[johannes: pick a larger EWMA factor for more precision with
 the limited range that we will feed into it, adjust to new API]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mesh_hwmp.c
net/mac80211/mesh_pathtbl.c
net/mac80211/sta_info.h