1. Jan 17, 2018
  2. Jan 16, 2018
  3. Jan 11, 2018
  4. Jan 09, 2018
    • Zhu Yanjun's avatar
      IB/rxe: remove unnecessary skb_clone in xmit · 5793b465
      Zhu Yanjun authored
      
      
      In xmit, there is a skb_clone. This function copies the struct sk_buff.
      And some parameters are changed to the new skb. Then the new skb is sent
      while the old skb is freed.
      
      While the function skb_clone is removed, the parameter changes are made on
      the old skb, then the old skb is sent. It can also work well.
      
      The following tests are made.
      
       server                       client
      ---------                    ---------
      |1.1.1.1|<----rxe-channel--->|1.1.1.2|
      ---------                    ---------
      
      On server: rping -s -a 1.1.1.1 -v -C 1000 -S 512
      On client: rping -c -a 1.1.1.1 -v -C 1000 -S 512
      
      The kernel config CONFIG_DEBUG_KMEMLEAK is enabled on both server
      and client.
      
      This test runs for several hours. There is no memory leak and the whole
      system can work well.
      
      As the above network, the following tests are made.
      
      Server: ibv_rc_pingpong -d rxe0 -g 1
      Client: ibv_rc_pingpong -d rxe0 -g 1 1.1.1.1
      
      The result on Server.
      Before:
      8192000 bytes in 0.88 seconds = 74.36 Mbit/sec
      1000 iters in 0.88 seconds = 881.30 usec/iter
      
      After:
      8192000 bytes in 0.81 seconds = 81.15 Mbit/sec
      1000 iters in 0.81 seconds = 807.62 usec/iter
      
      The throughput is enhanced and the latency is reduced.
      
      CC: Srinivas Eeda <srinivas.eeda@oracle.com>
      CC: Joe Jin <joe.jin@oracle.com>
      CC: Junxiao Bi <junxiao.bi@oracle.com>
      Signed-off-by: default avatarZhu Yanjun <yanjun.zhu@oracle.com>
      
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      5793b465
    • Zhu Yanjun's avatar
      IB/rxe: add the static type to the variable · 91eab796
      Zhu Yanjun authored
      
      
      The variable recv_sockets is only used in the file rxe_net.c. So
      it is better to add static type to it.
      
      CC: Srinivas Eeda <srinivas.eeda@oracle.com>
      CC: Joe Jin <joe.jin@oracle.com>
      CC: Junxiao Bi <junxiao.bi@oracle.com>
      Signed-off-by: default avatarZhu Yanjun <yanjun.zhu@oracle.com>
      Reviewed-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      91eab796