Re: [PATCH 1/1] net: rds: add service level support in rds-info

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,Doug

My reply is in line.

On 2019/8/20 23:28, Doug Ledford wrote:
On Mon, 2019-08-19 at 20:52 -0400, Zhu Yanjun wrote:
diff --git a/include/uapi/linux/rds.h b/include/uapi/linux/rds.h
index fd6b5f6..cba368e 100644
--- a/include/uapi/linux/rds.h
+++ b/include/uapi/linux/rds.h
@@ -250,6 +250,7 @@ struct rds_info_rdma_connection {
         __u32           rdma_mr_max;
         __u32           rdma_mr_size;
         __u8            tos;
+       __u8            sl;
         __u32           cache_allocs;
  };
@@ -265,6 +266,7 @@ struct rds6_info_rdma_connection {
         __u32           rdma_mr_max;
         __u32           rdma_mr_size;
         __u8            tos;
+       __u8            sl;
         __u32           cache_allocs;
  };
This is a user space API break (as was the prior patch mentioned
below)...

The commit fe3475af3bdf ("net: rds: add per rds connection cache
statistics") adds cache_allocs in struct rds_info_rdma_connection
as below:
struct rds_info_rdma_connection {
...
         __u32           rdma_mr_max;
         __u32           rdma_mr_size;
         __u8            tos;
         __u32           cache_allocs;
  };
The peer struct in rds-tools of struct rds_info_rdma_connection is as
below:
struct rds_info_rdma_connection {
...
         uint32_t        rdma_mr_max;
         uint32_t        rdma_mr_size;
         uint8_t         tos;
         uint8_t         sl;
         uint32_t        cache_allocs;
};
Why are the user space rds tools not using the kernel provided abi
files?
Perhaps it is a long story.

In order to know if this ABI breakage is safe, we need to know what
versions of rds-tools are out in the wild and have their own headers
that we need to match up with.

From my works in LAB and in the customer's host, rds-tools 2.0.7 is the popular

version. Other versions rds-tools are used less.

   Are there any versions of rds-tools that
actually use the kernel provided headers?

"the kernel provided headers", do you mean include/uapi/linux/rds.h?

I checked the rds-tools source code. I do not find any version of rds-tools us this header files.

Are there any other users of
uapi/linux/rds.h besides rds-tools?

Not sure. But in Oracle, there are some rds applications. I am not sure whether these rds applications

will use include/uapi/linux/rds.h file or not.

I will investigate it.


Once the kernel and rds-tools package are in sync,

After this commit is merged into mailine, the kernel and rds-tools package are in sync.

I will make investigations about rds-tools using the kernel header include/uapi/linux/rds.h.

Thanks a lot for your comments.

Zhu Yanjun

  rds-tools needs to be
modified to use the kernel header and proper ABI maintenance needs to be
started.




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux