• Jon Paul Maloy's avatar
    tipc: decrease connection flow control window · 6163a194
    Jon Paul Maloy authored
    Memory overhead when allocating big buffers for data transfer may
    be quite significant. E.g., truesize of a 64 KB buffer turns out
    to be 132 KB, 2 x the requested size.
    
    This invalidates the "worst case" calculation we have been
    using to determine the default socket receive buffer limit,
    which is based on the assumption that 1024x64KB = 67MB buffers
    may be queued up on a socket.
    
    Since TIPC connections cannot survive hitting the buffer limit,
    we have to compensate for this overhead.
    
    We do that in this commit by dividing the fix connection flow
    control window from 1024 (2*512) messages to 512 (2*256). Since
    older version nodes send out acks at 512 message intervals,
    compatibility with such nodes is guaranteed, although performance
    may be non-optimal in such cases.
    Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
    Reviewed-by: default avatarYing Xue <ying.xue@windriver.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6163a194
core.c 4.78 KB