• Ursula Braun's avatar
    net/smc: immediate freeing in smc_lgr_cleanup_early() · f9aab6f2
    Ursula Braun authored
    smc_lgr_cleanup_early() schedules the free worker with delay. DMB
    unregistering occurs in this delayed worker increasing the risk
    to reach the SMCD SBA limit without need. Terminate the
    linkgroup immediately, since termination means early DMB unregistering.
    
    For SMCD the global smc_server_lgr_pending lock is given up early.
    A linkgroup to be given up with smc_lgr_cleanup_early() may already
    contain more than one connection. Using __smc_lgr_terminate() in
    smc_lgr_cleanup_early() covers this.
    
    And consolidate smc_ism_put_vlan() and smc_put_device() into smc_lgr_free()
    only.
    Signed-off-by: default avatarUrsula Braun <ubraun@linux.ibm.com>
    Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f9aab6f2
smc_core.c 50.2 KB