Re: [net-next][PATCH v2 2/2] rds: add sysctl for rds support of On-Demand-Paging
From: Santosh Shilimkar <hidden>
Date: 2019-05-10 16:11:06
On 5/10/2019 6:02 AM, Jason Gunthorpe wrote:
On Mon, Apr 29, 2019 at 04:37:20PM -0700, Santosh Shilimkar wrote:quoted
RDS doesn't support RDMA on memory apertures that require On Demand Paging (ODP), such as FS DAX memory. A sysctl is added to indicate whether RDMA requiring ODP is supported. Reviewed-by: Håkon Bugge <redacted> Reviewed-tested-by: Zhu Yanjun [off-list ref] Signed-off-by: Hans Westgaard Ry <redacted> Signed-off-by: Santosh Shilimkar <redacted> net/rds/ib.h | 1 + net/rds/ib_sysctl.c | 8 ++++++++ 2 files changed, 9 insertions(+)diff --git a/net/rds/ib.h b/net/rds/ib.h index 67a715b..80e11ef 100644 +++ b/net/rds/ib.h@@ -457,5 +457,6 @@ unsigned int rds_ib_stats_info_copy(struct rds_info_iterator *iter, extern unsigned long rds_ib_sysctl_max_unsig_bytes; extern unsigned long rds_ib_sysctl_max_recv_allocation; extern unsigned int rds_ib_sysctl_flow_control; +extern unsigned int rds_ib_sysctl_odp_support; #endifdiff --git a/net/rds/ib_sysctl.c b/net/rds/ib_sysctl.c index e4e41b3..7cc02cd 100644 +++ b/net/rds/ib_sysctl.c@@ -60,6 +60,7 @@ * will cause credits to be added before protocol negotiation. */ unsigned int rds_ib_sysctl_flow_control = 0; +unsigned int rds_ib_sysctl_odp_support; static struct ctl_table rds_ib_sysctl_table[] = { {@@ -103,6 +104,13 @@ .mode = 0644, .proc_handler = proc_dointvec, }, + { + .procname = "odp_support", + .data = &rds_ib_sysctl_odp_support, + .maxlen = sizeof(rds_ib_sysctl_odp_support), + .mode = 0444, + .proc_handler = proc_dointvec, + }, { } };using a read-only sysctl as a capability negotiation scheme seems horrible to me
Do you have a suggestion ? Was thinking of adding a socketopt but didn't pursue it further. Regards, Santosh