• Florian Westphal's avatar
    xfrm: state: do not acquire lock in get_mtu helpers · b3b73b8e
    Florian Westphal authored
    Once flow cache gets removed the mtu initialisation happens for every skb
    that gets an xfrm attached, so this lock starts to show up in perf.
    
    It is not obvious why this lock is required -- the caller holds
    reference on the state struct, type->destructor is only called from the
    state gc worker (all state structs on gc list must have refcount 0).
    
    xfrm_init_state already has been called (else private data accessed
    by type->get_mtu() would not be set up).
    
    So just remove the lock -- the race on the state (DEAD?) doesn't
    matter (could change right after dropping the lock too).
    Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
    Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
    b3b73b8e
xfrm_state.c 55.6 KB