• Dilip Daya's avatar
    sctp: Add buffer utilization fields to /proc/net/sctp/assocs · f406c8b9
    Dilip Daya authored
    sctp: Add buffer utilization fields to /proc/net/sctp/assocs
    
    This patch adds the following fields to /proc/net/sctp/assocs output:
    
    	- sk->sk_wmem_alloc as "wmema"	(transmit queue bytes committed)
    	- sk->sk_wmem_queued as "wmemq"	(persistent queue size)
    	- sk->sk_sndbuf as "sndbuf"	(size of send buffer in bytes)
    	- sk->sk_rcvbuf as "rcvbuf"	(size of receive buffer in bytes)
    
    When small DATA chunks containing 136 bytes data are sent the TX_QUEUE
    (assoc->sndbuf_used) reaches a maximum of 40.9% of sk_sndbuf value when
    peer.rwnd = 0. This was diagnosed from sk_wmem_alloc value reaching maximum
    value of sk_sndbuf.
    
    TX_QUEUE (assoc->sndbuf_used), sk_wmem_alloc and sk_wmem_queued values are
    incremented in sctp_set_owner_w() for outgoing data chunks. Having access to
    the above values in /proc/net/sctp/assocs will provide a better understanding
    of SCTP buffer management.
    
    With patch applied, example output when peer.rwnd = 0
    
    where:
        ASSOC ffff880132298000 is sender
              ffff880125343000 is receiver
    
     ASSOC           SOCK            STY SST ST  HBKT ASSOC-ID TX_QUEUE RX_QUEUE \
    ffff880132298000 ffff880124a0a0c0 2   1   3  29325    1      214656        0 \
    ffff880125343000 ffff8801237d7700 2   1   3  36210    2           0   524520 \
    
    UID   INODE LPORT  RPORT LADDRS <-> RADDRS       HBINT   INS  OUTS \
      0   25108 3455   3456  *10.4.8.3 <-> *10.5.8.3  7500     2     2 \
      0   27819 3456   3455  *10.5.8.3 <-> *10.4.8.3  7500     2     2 \
    
    MAXRT T1X T2X RTXC   wmema   wmemq  sndbuf  rcvbuf
        4   0   0   72  525633  440320  524288  524288
        4   0   0    0       1       0  524288  524288
    Signed-off-by: default avatarDilip Daya <dilip.daya@hp.com>
    Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f406c8b9
proc.c 14.5 KB