On Tue, Jan 31, 2017 at 11:33 AM, Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxx> wrote: > On 2017-01-31 09:51, Thomas Pedersen wrote: >> >> Hi Rajkumar, >> >> Thanks this looks good, but.. >> >> On Fri, Jan 27, 2017 at 4:01 PM, Rajkumar Manoharan >> <rmanohar@xxxxxxxxxxxxxxxx> wrote: >>> >>> Mesh moving average should be cleared, whenever mesh paths >>> to the given station are deactivated due to bad link. This will >>> give enough room to analysis more tx status than retaining the >>> current average. >>> > [...] >>> >>> ret = rhashtable_walk_init(&tbl->rhead, &iter, GFP_ATOMIC); >>> if (ret) >>> @@ -535,8 +536,11 @@ void mesh_plink_broken(struct sta_info *sta) >>> sdata->u.mesh.mshcfg.element_ttl, >>> mpath->dst, mpath->sn, >>> WLAN_REASON_MESH_PATH_DEST_UNREACHABLE, >>> bcast); >>> + paths_deactivated = true; >>> } >>> } >>> + if (paths_deactivated) >>> + sta->mesh->fail_avg = 0; >> >> >> .. why this indirection? Just reset mesh->fail_avg unconditionally in >> this function? >> > Hmm... As fixed paths are not affected, resetting fail_avg for fixed path > may give > wrong metric. no? I don't think setting fail_avg = 0 will affect existing fixed mpath code. Anyway metrics should not affect whether a fixed mpath is chosen. -- thomas