[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160901.165641.1996592771782783172.davem@davemloft.net>
Date: Thu, 01 Sep 2016 16:56:41 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: roopa@...ulusnetworks.com
Cc: nikolay@...ulusnetworks.com, wkok@...ulusnetworks.com,
stephen@...workplumber.org, jhs@...atatu.com,
makita.toshiaki@....ntt.co.jp, jiri@...nulli.us,
idosch@...lanox.com, netdev@...r.kernel.org, minoura@...inux.co.jp,
Dept-GELinuxNICDev@...gic.com
Subject: Re: [PATCH net-next] rtnetlink: fdb dump: optimize by saving last
interface markers
From: Roopa Prabhu <roopa@...ulusnetworks.com>
Date: Tue, 30 Aug 2016 21:56:45 -0700
> From: Roopa Prabhu <roopa@...ulusnetworks.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 <roopa@...ulusnetworks.com>
> Signed-off-by: Wilson Kok <wkok@...ulusnetworks.com>
Looks great, applied, thanks!
Powered by blists - more mailing lists