• Pavel Emelyanov's avatar
    tcp: Try harder to restore recv queue · 4dc3e53e
    Pavel Emelyanov authored
    On restore we try to put data back into recv queue with quite
    big chunks. However the kernel doesn't try hard to split the
    data into packets in repair mode for this queue and just
    allocates the linear skb of the given size. If the size is
    moderately big, the allocation is subject to fail, slab doesn't
    reliably allocates memory over 4k.
    
    So, when failing with big chunk on recv queue -- shrink the
    chunk and try again.
    Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
    Acked-by: 's avatarAndrew Vagin <avagin@virtuozzo.com>
    4dc3e53e
sk-tcp.c 15.3 KB