• P
    mptcp: implement wmem reservation · e93da928
    Paolo Abeni 提交于
    This leverages the previous commit to reserve the wmem
    required for the sendmsg() operation when the msk socket
    lock is first acquired.
    Some heuristics are used to get a reasonable [over] estimation of
    the whole memory required. If we can't forward alloc such amount
    fallback to a reasonable small chunk, otherwise enter the wait
    for memory path.
    
    When sendmsg() needs more memory it looks at wmem_reserved
    first and if that is exhausted, move more space from
    sk_forward_alloc.
    
    The reserved memory is not persistent and is released at the
    next socket unlock via the release_cb().
    
    Overall this will simplify the next patch.
    Acked-by: NFlorian Westphal <fw@strlen.de>
    Signed-off-by: NPaolo Abeni <pabeni@redhat.com>
    Reviewed-by: NMat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: NJakub Kicinski <kuba@kernel.org>
    e93da928
protocol.c 77.1 KB