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!

Reply via email to