Hi Thomas, On Tue, 2018-11-20 at 17:59 +0000, Thomas Preston wrote: > From: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> > > If we want /proc/sys/sunrpc the current kernel also drags > in other debug features which we don't really want. Add the > option for the entries by adding CONFIG_SUNRPC_DEBUG. > > /proc/sys/sunrpc/max_resvport > /proc/sys/sunrpc/min_resvport > /proc/sys/sunrpc/nfsd_debug > /proc/sys/sunrpc/nfs_debug > /proc/sys/sunrpc/nlm_debug > /proc/sys/sunrpc/rpc_debug Can we hide the nfsd_debug, nfs_debug, nlm_debug, and rpc_debug entries under CONFIG_SUNRPC_DEBUG, but still show everything else? > /proc/sys/sunrpc/tcp_fin_timeout > > Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> > Signed-off-by: Thomas Preston <thomas.preston@xxxxxxxxxxxxxxx> > --- > net/sunrpc/Kconfig | 7 +++++++ > net/sunrpc/xprtsock.c | 6 +++--- > 2 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig > index ac09ca803296..0e23a7a6cce8 100644 > --- a/net/sunrpc/Kconfig > +++ b/net/sunrpc/Kconfig > @@ -48,6 +48,13 @@ config SUNRPC_DEBUG > > If unsure, say Y. > > +config SUNRPC_PROC > + bool "RPC: Enable /proc/sys/sunrpc entries" > + depends on SUNRPC && SYSCTL > + help > + Enable /proc entires for tuning /proc/sys/sunrpc information > + without enabling all the debug features for the SUNRPC system. I don't think we need a new Kconfig option for this, do we? Let's just show the proc entries unconditionally. Thanks, Anna > + > config SUNRPC_XPRT_RDMA > tristate "RPC-over-RDMA transport" > depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS > diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c > index ae77c71c1f64..71b64402c070 100644 > --- a/net/sunrpc/xprtsock.c > +++ b/net/sunrpc/xprtsock.c > @@ -68,7 +68,7 @@ static unsigned int xprt_max_tcp_slot_table_entries = > RPC_MAX_SLOT_TABLE; > static unsigned int xprt_min_resvport = RPC_DEF_MIN_RESVPORT; > static unsigned int xprt_max_resvport = RPC_DEF_MAX_RESVPORT; > > -#if IS_ENABLED(CONFIG_SUNRPC_DEBUG) > +#if IS_ENABLED(CONFIG_SUNRPC_DEBUG) || IS_ENABLED(CONFIG_SUNRPC_PROC) > > #define XS_TCP_LINGER_TO (15U * HZ) > static unsigned int xs_tcp_fin_timeout __read_mostly = XS_TCP_LINGER_TO; > @@ -3114,7 +3114,7 @@ static struct xprt_class xs_bc_tcp_transport = { > */ > int init_socket_xprt(void) > { > -#if IS_ENABLED(CONFIG_SUNRPC_DEBUG) > +#if IS_ENABLED(CONFIG_SUNRPC_DEBUG) || IS_ENABLED(CONFIG_SUNRPC_PROC) > if (!sunrpc_table_header) > sunrpc_table_header = register_sysctl_table(sunrpc_table); > #endif > @@ -3133,7 +3133,7 @@ int init_socket_xprt(void) > */ > void cleanup_socket_xprt(void) > { > -#if IS_ENABLED(CONFIG_SUNRPC_DEBUG) > +#if IS_ENABLED(CONFIG_SUNRPC_DEBUG) || IS_ENABLED(CONFIG_SUNRPC_PROC) > if (sunrpc_table_header) { > unregister_sysctl_table(sunrpc_table_header); > sunrpc_table_header = NULL;