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.