The variable cache_allocs is to indicate how many frags (KiB) are in one
rds connection frag cache.
The command "rds-info -Iv" will output the rds connection cache
statistics as below:
"
RDS IB Connections:
      LocalAddr RemoteAddr Tos SL  LocalDev            RemoteDev
      1.1.1.14 1.1.1.14   58 255  fe80::2:c903:a:7a31 fe80::2:c903:a:7a31
      send_wr=256, recv_wr=1024, send_sge=8, rdma_mr_max=4096,
      rdma_mr_size=257, cache_allocs=12
"
This means that there are about 12KiB frag in this rds connection frag
cache.
Since rds.h in rds-tools is not related with the kernel rds.h, the change
in kernel rds.h does not affect rds-tools.
rds-info in rds-tools 2.0.5 and 2.0.6 is tested with this commit. It works
well.
Signed-off-by: Zhu Yanjun <yanjun.zhu@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
        __u32           rdma_mr_max;
        __u32           rdma_mr_size;
        __u8            tos;
+       __u32           cache_allocs;
 };
 
 struct rds6_info_rdma_connection {
        __u32           rdma_mr_max;
        __u32           rdma_mr_size;
        __u8            tos;
+       __u32           cache_allocs;
 };
 
 /* RDS message Receive Path Latency points */
 
                iinfo->max_recv_wr = ic->i_recv_ring.w_nr;
                iinfo->max_send_sge = rds_ibdev->max_sge;
                rds_ib_get_mr_info(rds_ibdev, iinfo);
+               iinfo->cache_allocs = atomic_read(&ic->i_cache_allocs);
        }
        return 1;
 }
                iinfo6->max_recv_wr = ic->i_recv_ring.w_nr;
                iinfo6->max_send_sge = rds_ibdev->max_sge;
                rds6_ib_get_mr_info(rds_ibdev, iinfo6);
+               iinfo6->cache_allocs = atomic_read(&ic->i_cache_allocs);
        }
        return 1;
 }