From: Roopa Prabhu <ro...@cumulusnetworks.com> Date: Tue, 30 Aug 2016 21:56:45 -0700
> From: Roopa Prabhu <ro...@cumulusnetworks.com> > > fdb dumps spanning multiple skb's currently restart from the first > interface again for every skb. This results in unnecessary > iterations on the already visited interfaces and their fdb > entries. In large scale setups, we have seen this to slow > down fdb dumps considerably. On a system with 30k macs we > see fdb dumps spanning across more than 300 skbs. > > To fix the problem, this patch replaces the existing single fdb > marker with three markers: netdev hash entries, netdevs and fdb > index to continue where we left off instead of restarting from the > first netdev. This is consistent with link dumps. > > In the process of fixing the performance issue, this patch also > re-implements fix done by > commit 472681d57a5d ("net: ndo_fdb_dump should report -EMSGSIZE to > rtnl_fdb_dump") > (with an internal fix from Wilson Kok) in the following ways: > - change ndo_fdb_dump handlers to return error code instead > of the last fdb index > - use cb->args strictly for dump frag markers and not error codes. > This is consistent with other dump functions. ... > Signed-off-by: Roopa Prabhu <ro...@cumulusnetworks.com> > Signed-off-by: Wilson Kok <w...@cumulusnetworks.com> Looks great, applied, thanks!