On Mon, Apr 29, 2019 at 04:37:20PM -0700, Santosh Shilimkar wrote:
> 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 <haakon.bu...@oracle.com>
> Reviewed-tested-by: Zhu Yanjun <yanjun....@oracle.com>
> Signed-off-by: Hans Westgaard Ry <hans.westgaard...@oracle.com>
> Signed-off-by: Santosh Shilimkar <santosh.shilim...@oracle.com>
>  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;
>  
>  #endif
> diff --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

Jason  

Reply via email to