• Tobias Waldekranz's avatar
    net: bridge: switchdev: recycle unused hwdoms · 85826610
    Tobias Waldekranz authored
    Since hwdoms have only been used thus far for equality comparisons, the
    bridge has used the simplest possible assignment policy; using a
    counter to keep track of the last value handed out.
    
    With the upcoming transmit offloading, we need to perform set
    operations efficiently based on hwdoms, e.g. we want to answer
    questions like "has this skb been forwarded to any port within this
    hwdom?"
    
    Move to a bitmap-based allocation scheme that recycles hwdoms once all
    members leaves the bridge. This means that we can use a single
    unsigned long to keep track of the hwdoms that have received an skb.
    
    v1->v2: convert the typedef DECLARE_BITMAP(br_hwdom_map_t, BR_HWDOM_MAX)
            into a plain unsigned long.
    v2->v6: none
    Signed-off-by: default avatarTobias Waldekranz <tobias@waldekranz.com>
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    85826610
br_switchdev.c 4.31 KB