• Ying Xue's avatar
    xfrm: remove useless hash_resize_mutex locks · 0244790c
    Ying Xue authored
    In xfrm_state.c, hash_resize_mutex is defined as a local variable
    and only used in xfrm_hash_resize() which is declared as a work
    handler of xfrm.state_hash_work. But when the xfrm.state_hash_work
    work is put in the global workqueue(system_wq) with schedule_work(),
    the work will be really inserted in the global workqueue if it was
    not already queued, otherwise, it is still left in the same position
    on the the global workqueue. This means the xfrm_hash_resize() work
    handler is only executed once at any time no matter how many times
    its work is scheduled, that is, xfrm_hash_resize() is not called
    concurrently at all, so hash_resize_mutex is redundant for us.
    
    Cc: Christophe Gouault <christophe.gouault@6wind.com>
    Cc: Steffen Klassert <steffen.klassert@secunet.com>
    Signed-off-by: default avatarYing Xue <ying.xue@windriver.com>
    Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
    0244790c
xfrm_state.c 54.9 KB