Subject: Re: [PATCH RFC net-next 3/4] bridge: move write-heavy fdb members in their own cache line

From: Stephen Hemminger <[email-masked]>
Date: Tue, 31 Jan 2017 08:37:57 -0800

On Tue, 31 Jan 2017 16:31:57 +0100
Nikolay Aleksandrov <[email-masked]> wrote:

> Fdb's used and updated fields are written to on every packet forward and
> packet receive respectively. Thus if we are receiving packets from a
> particular fdb, they'll cause false-sharing with everyone who has looked
> it up (even if it didn't match, since mac/vid share cache line!). The
> "used" field is even worse since it is updated on every packet forward
> to that fdb, thus the standard config where X ports use a single gateway
> results in 100% fdb false-sharing. Note that this patch does not prevent
> the last scenario, but it makes it better for other bridge participants
> which are not using that fdb (and are only doing lookups over it).
> The point is with this move we make sure that only communicating parties
> get the false-sharing, in a later patch we'll show how to avoid that too.
> 
> Signed-off-by: Nikolay Aleksandrov <[email-masked]>
> ---

What about making updated a per-cpu value?