• Taehee Yoo's avatar
    mld: add mc_lock for protecting per-interface mld data · 63ed8de4
    Taehee Yoo authored
    The purpose of this lock is to avoid a bottleneck in the query/report
    event handler logic.
    
    By previous patches, almost all mld data is protected by RTNL.
    So, the query and report event handler, which is data path logic
    acquires RTNL too. Therefore if a lot of query and report events
    are received, it uses RTNL for a long time.
    So it makes the control-plane bottleneck because of using RTNL.
    In order to avoid this bottleneck, mc_lock is added.
    
    mc_lock protect only per-interface mld data and per-interface mld
    data is used in the query/report event handler logic.
    So, no longer rtnl_lock is needed in the query/report event handler logic.
    Therefore bottleneck will be disappeared by mc_lock.
    Suggested-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
    Signed-off-by: default avatarTaehee Yoo <ap420073@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    63ed8de4
if_inet6.h 6.37 KB