• Nikolay Aleksandrov's avatar
    bridge: move write-heavy fdb members in their own cache line · 1214628c
    Nikolay Aleksandrov authored
    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: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1214628c
br_private.h 30.1 KB