From: liuy Date: Thu, 2 Aug 2007 08:30:13 +0000 (+0000) Subject: Branch b1_6 X-Git-Tag: v1_7_91~103 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=681cd2f094b0da8aa630be667a1553268dfe0bf0 Branch b1_6 b=13006 i=shadow, deen Description: warnings with build patchless client with vanila 2.6.19 and up Details : change the old ctl_table style and replace ctl_table/ctl_table_header with cfs_sysctl_table_t/cfs_sysctl_table_header_t --- diff --git a/lnet/include/libcfs/linux/portals_compat25.h b/lnet/include/libcfs/linux/portals_compat25.h index 657c011..4caf8c8 100644 --- a/lnet/include/libcfs/linux/portals_compat25.h +++ b/lnet/include/libcfs/linux/portals_compat25.h @@ -108,7 +108,7 @@ typedef unsigned long cpumask_t; #define ll_proc_dostring(table, write, filp, buffer, lenp, ppos) \ proc_dostring(table, write, filp, buffer, lenp) #define LL_PROC_PROTO(name) \ - name(ctl_table *table, int write, struct file *filp, \ + name(cfs_sysctl_table_t *table, int write, struct file *filp, \ void __user *buffer, size_t *lenp) #else #define ll_proc_dointvec(table, write, filp, buffer, lenp, ppos) \ @@ -116,7 +116,7 @@ typedef unsigned long cpumask_t; #define ll_proc_dostring(table, write, filp, buffer, lenp, ppos) \ proc_dostring(table, write, filp, buffer, lenp, ppos); #define LL_PROC_PROTO(name) \ - name(ctl_table *table, int write, struct file *filp, \ + name(cfs_sysctl_table_t *table, int write, struct file *filp, \ void __user *buffer, size_t *lenp, loff_t *ppos) #endif diff --git a/lnet/klnds/gmlnd/gmlnd.h b/lnet/klnds/gmlnd/gmlnd.h index 5eb844d..c34dc68 100644 --- a/lnet/klnds/gmlnd/gmlnd.h +++ b/lnet/klnds/gmlnd/gmlnd.h @@ -200,7 +200,7 @@ typedef struct { int *gm_nrx_large; #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM - struct ctl_table_header *gm_sysctl; /* sysctl interface */ + cfs_sysctl_table_header_t *gm_sysctl; /* sysctl interface */ #endif } gmnal_tunables_t; diff --git a/lnet/klnds/gmlnd/gmlnd_module.c b/lnet/klnds/gmlnd/gmlnd_module.c index 1f7f96f..6ab7c5e 100644 --- a/lnet/klnds/gmlnd/gmlnd_module.c +++ b/lnet/klnds/gmlnd/gmlnd_module.c @@ -61,61 +61,110 @@ gmnal_tunables_t gmnal_tunables = { }; #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM -static ctl_table gmnal_ctl_table[] = { - {1, "port", &port, - sizeof (int), 0444, NULL, &proc_dointvec}, - {2, "ntx", &ntx, - sizeof (int), 0444, NULL, &proc_dointvec}, - {3, "credits", &credits, - sizeof (int), 0444, NULL, &proc_dointvec}, - {4, "peer_credits", &peer_credits, - sizeof (int), 0444, NULL, &proc_dointvec}, - {5, "nlarge_tx_bufs", &nlarge_tx_bufs, - sizeof (int), 0444, NULL, &proc_dointvec}, - {6, "nrx_small", &nrx_small, - sizeof (int), 0444, NULL, &proc_dointvec}, - {7, "nrx_large", &nrx_large, - sizeof (int), 0444, NULL, &proc_dointvec}, - {0} +static cfs_sysctl_table_t gmnal_ctl_table[] = { + { + .ctl_name = 1, + .procname = "port", + .data = &port, + .maxlen = sizeof (int), + .data = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 2, + .procname = "ntx", + .data = &ntx, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 3, + .procname = "credits", + .data = &credits, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 4, + .procname = "peer_credits", + .data = &peer_credits, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 5, + .procname = "nlarge_tx_bufs", + .data = &nlarge_tx_bufs, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 6, + .procname = "nrx_small", + .data = &nrx_small, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 7, + .procname = "nrx_large", + .data = &nrx_large, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + {0} }; -static ctl_table gmnal_top_ctl_table[] = { - {207, "gmnal", NULL, 0, 0555, gmnal_ctl_table}, - {0} +static cfs_sysctl_table_t gmnal_top_ctl_table[] = { + { + .ctl_name = 207, + .procname = "gmnal", + .data = NULL, + .maxlen = 0, + .mode = 0555, + .child = gmnal_ctl_table + }, + {0} }; #endif static int __init gmnal_load(void) { - int status; - CDEBUG(D_TRACE, "This is the gmnal module initialisation routine\n"); + int status; + CDEBUG(D_TRACE, "This is the gmnal module initialisation routine\n"); #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM gmnal_tunables.gm_sysctl = cfs_register_sysctl_table(gmnal_top_ctl_table, 0); - + if (gmnal_tunables.gm_sysctl == NULL) CWARN("Can't setup /proc tunables\n"); #endif - CDEBUG(D_NET, "Calling gmnal_init\n"); + CDEBUG(D_NET, "Calling gmnal_init\n"); status = gmnal_init(); - if (status == 0) { - CDEBUG(D_NET, "Portals GMNAL initialised ok\n"); - } else { - CDEBUG(D_NET, "Portals GMNAL Failed to initialise\n"); - return(-ENODEV); - } + if (status == 0) { + CDEBUG(D_NET, "Portals GMNAL initialised ok\n"); + } else { + CDEBUG(D_NET, "Portals GMNAL Failed to initialise\n"); + return(-ENODEV); + } - CDEBUG(D_NET, "This is the end of the gmnal init routine"); + CDEBUG(D_NET, "This is the end of the gmnal init routine"); - return(0); + return(0); } static void __exit gmnal_unload(void) { - gmnal_fini(); + gmnal_fini(); #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM if (gmnal_tunables.gm_sysctl != NULL) cfs_unregister_sysctl_table(gmnal_tunables.gm_sysctl); diff --git a/lnet/klnds/iiblnd/iiblnd.h b/lnet/klnds/iiblnd/iiblnd.h index e75e872..777121f 100644 --- a/lnet/klnds/iiblnd/iiblnd.h +++ b/lnet/klnds/iiblnd/iiblnd.h @@ -140,7 +140,7 @@ typedef struct int *kib_sd_retries; /* # concurrent sends to 1 peer */ int *kib_concurrent_sends; /* send work queue sizing */ #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM - struct ctl_table_header *kib_sysctl; /* sysctl interface */ + cfs_sysctl_table_header_t *kib_sysctl; /* sysctl interface */ #endif } kib_tunables_t; diff --git a/lnet/klnds/iiblnd/iiblnd_modparams.c b/lnet/klnds/iiblnd/iiblnd_modparams.c index 94fb1af..32045c3 100644 --- a/lnet/klnds/iiblnd/iiblnd_modparams.c +++ b/lnet/klnds/iiblnd/iiblnd_modparams.c @@ -37,39 +37,39 @@ CFS_MODULE_PARM(service_number, "i", int, 0444, static int min_reconnect_interval = 1; CFS_MODULE_PARM(min_reconnect_interval, "i", int, 0644, - "minimum connection retry interval (seconds)"); + "minimum connection retry interval (seconds)"); static int max_reconnect_interval = 60; CFS_MODULE_PARM(max_reconnect_interval, "i", int, 0644, - "maximum connection retry interval (seconds)"); + "maximum connection retry interval (seconds)"); static int concurrent_peers = 1152; CFS_MODULE_PARM(concurrent_peers, "i", int, 0444, - "maximum number of peers that may connect"); + "maximum number of peers that may connect"); static int cksum = 0; CFS_MODULE_PARM(cksum, "i", int, 0644, - "set non-zero to enable message (not RDMA) checksums"); + "set non-zero to enable message (not RDMA) checksums"); static int timeout = 50; CFS_MODULE_PARM(timeout, "i", int, 0644, - "timeout (seconds)"); + "timeout (seconds)"); static int ntx = 256; CFS_MODULE_PARM(ntx, "i", int, 0444, - "# of message descriptors"); + "# of message descriptors"); static int credits = 128; CFS_MODULE_PARM(credits, "i", int, 0444, - "# concurrent sends"); + "# concurrent sends"); static int peer_credits = 8; CFS_MODULE_PARM(peer_credits, "i", int, 0444, - "# concurrent sends to 1 peer"); + "# concurrent sends to 1 peer"); static int sd_retries = 8; CFS_MODULE_PARM(sd_retries, "i", int, 0444, - "# times to retry SD queries"); + "# times to retry SD queries"); static int keepalive = 100; CFS_MODULE_PARM(keepalive, "i", int, 0644, @@ -86,7 +86,7 @@ kib_tunables_t kibnal_tunables = { .kib_min_reconnect_interval = &min_reconnect_interval, .kib_max_reconnect_interval = &max_reconnect_interval, .kib_concurrent_peers = &concurrent_peers, - .kib_cksum = &cksum, + .kib_cksum = &cksum, .kib_timeout = &timeout, .kib_keepalive = &keepalive, .kib_ntx = &ntx, @@ -102,65 +102,156 @@ kib_tunables_t kibnal_tunables = { * not to truncate the printout; it only needs to be the actual size of the * string buffer if we allow writes (and we don't) */ -static ctl_table kibnal_ctl_table[] = { - {1, "ipif_basename", &ipif_basename, - 1024, 0444, NULL, &proc_dostring}, - {2, "service_name", &service_name, - 1024, 0444, NULL, &proc_dostring}, - {3, "service_number", &service_number, - sizeof(int), 0444, NULL, &proc_dointvec}, - {4, "min_reconnect_interval", &min_reconnect_interval, - sizeof(int), 0644, NULL, &proc_dointvec}, - {5, "max_reconnect_interval", &max_reconnect_interval, - sizeof(int), 0644, NULL, &proc_dointvec}, - {6, "concurrent_peers", &concurrent_peers, - sizeof(int), 0444, NULL, &proc_dointvec}, - {7, "cksum", &cksum, - sizeof(int), 0644, NULL, &proc_dointvec}, - {8, "timeout", &timeout, - sizeof(int), 0644, NULL, &proc_dointvec}, - {9, "ntx", &ntx, - sizeof(int), 0444, NULL, &proc_dointvec}, - {10, "credits", &credits, - sizeof(int), 0444, NULL, &proc_dointvec}, - {11, "peer_credits", &peer_credits, - sizeof(int), 0444, NULL, &proc_dointvec}, - {12, "sd_retries", &sd_retries, - sizeof(int), 0444, NULL, &proc_dointvec}, - {13, "keepalive", &keepalive, - sizeof(int), 0644, NULL, &proc_dointvec}, - {14, "concurrent_sends", &concurrent_sends, - sizeof(int), 0644, NULL, &proc_dointvec}, - {0} +static cfs_sysctl_table_t kibnal_ctl_table[] = { + { + .ctl_name = 1, + .procname = "ipif_basename", + .data = &ipif_basename, + .maxlen = 1024, + .mode = 0444, + .proc_handler = &proc_dostring + }, + { + .ctl_name = 2, + .procname = "service_name", + .data = &service_name, + .maxlen = 1024, + .mode = 0444, + .proc_handler = &proc_dostring + }, + { + .ctl_name = 3, + .procname = "service_number", + .data = &service_number, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 4, + .procname = "min_reconnect_interval", + .data = &min_reconnect_interval, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 5, + .procname = "max_reconnect_interval", + .data = &max_reconnect_interval, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 6, + .procname = "concurrent_peers", + .data = &concurrent_peers, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 7, + .procname = "cksum", + .data = &cksum, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 8, + .procname = "timeout", + .data = &timeout, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 9, + .procname = "ntx", + .data = &ntx, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 10, + .procname = "credits", + .data = &credits, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 11, + .procname = "peer_credits", + .data = &peer_credits, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 12, + .procname = "sd_retries", + .data = &sd_retries, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 13, + .procname = "keepalive", + .data = &keepalive, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 14, + .procname = "concurrent_sends", + .data = &concurrent_sends, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + {0} }; -static ctl_table kibnal_top_ctl_table[] = { - {203, "openibnal", NULL, 0, 0555, kibnal_ctl_table}, - {0} +static cfs_sysctl_table_t kibnal_top_ctl_table[] = { + { + .ctl_name = 203, + .procname = "openibnal", + .data = NULL, + .maxlen = 0, + .mode = 0555, + .child = kibnal_ctl_table + }, + {0} }; int kibnal_tunables_init () { - kibnal_tunables.kib_sysctl = - cfs_register_sysctl_table(kibnal_top_ctl_table, 0); - - if (kibnal_tunables.kib_sysctl == NULL) - CWARN("Can't setup /proc tunables\n"); + kibnal_tunables.kib_sysctl = + cfs_register_sysctl_table(kibnal_top_ctl_table, 0); + + if (kibnal_tunables.kib_sysctl == NULL) + CWARN("Can't setup /proc tunables\n"); if (*kibnal_tunables.kib_concurrent_sends > IBNAL_RX_MSGS) *kibnal_tunables.kib_concurrent_sends = IBNAL_RX_MSGS; if (*kibnal_tunables.kib_concurrent_sends < IBNAL_MSG_QUEUE_SIZE) *kibnal_tunables.kib_concurrent_sends = IBNAL_MSG_QUEUE_SIZE; - return 0; + return 0; } void kibnal_tunables_fini () { - if (kibnal_tunables.kib_sysctl != NULL) - cfs_unregister_sysctl_table(kibnal_tunables.kib_sysctl); + if (kibnal_tunables.kib_sysctl != NULL) + cfs_unregister_sysctl_table(kibnal_tunables.kib_sysctl); } #else @@ -168,7 +259,7 @@ kibnal_tunables_fini () int kibnal_tunables_init () { - return 0; + return 0; } void diff --git a/lnet/klnds/o2iblnd/o2iblnd.h b/lnet/klnds/o2iblnd/o2iblnd.h index 7c6b0be..5542bc0 100644 --- a/lnet/klnds/o2iblnd/o2iblnd.h +++ b/lnet/klnds/o2iblnd/o2iblnd.h @@ -127,7 +127,7 @@ typedef struct int *kib_fmr_cache; /* enable FMR pool cache? */ #endif #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM - struct ctl_table_header *kib_sysctl; /* sysctl interface */ + cfs_sysctl_table_header_t *kib_sysctl; /* sysctl interface */ #endif } kib_tunables_t; diff --git a/lnet/klnds/o2iblnd/o2iblnd_modparams.c b/lnet/klnds/o2iblnd/o2iblnd_modparams.c index d09da47..35bb265 100644 --- a/lnet/klnds/o2iblnd/o2iblnd_modparams.c +++ b/lnet/klnds/o2iblnd/o2iblnd_modparams.c @@ -29,23 +29,23 @@ CFS_MODULE_PARM(service, "i", int, 0444, static int cksum = 0; CFS_MODULE_PARM(cksum, "i", int, 0644, - "set non-zero to enable message (not RDMA) checksums"); + "set non-zero to enable message (not RDMA) checksums"); static int timeout = 50; CFS_MODULE_PARM(timeout, "i", int, 0644, - "timeout (seconds)"); + "timeout (seconds)"); static int ntx = 256; CFS_MODULE_PARM(ntx, "i", int, 0444, - "# of message descriptors"); + "# of message descriptors"); static int credits = 64; CFS_MODULE_PARM(credits, "i", int, 0444, - "# concurrent sends"); + "# concurrent sends"); static int peer_credits = 8; CFS_MODULE_PARM(peer_credits, "i", int, 0444, - "# concurrent sends to 1 peer"); + "# concurrent sends to 1 peer"); static char *ipif_name = "ib0"; CFS_MODULE_PARM(ipif_name, "s", charp, 0444, @@ -113,45 +113,142 @@ kib_tunables_t kiblnd_tunables = { static char ipif_basename_space[32]; -static ctl_table kiblnd_ctl_table[] = { - {1, "service", &service, - sizeof(int), 0444, NULL, &proc_dointvec}, - {2, "cksum", &cksum, - sizeof(int), 0644, NULL, &proc_dointvec}, - {3, "timeout", &timeout, - sizeof(int), 0644, NULL, &proc_dointvec}, - {4, "ntx", &ntx, - sizeof(int), 0444, NULL, &proc_dointvec}, - {5, "credits", &credits, - sizeof(int), 0444, NULL, &proc_dointvec}, - {6, "peer_credits", &peer_credits, - sizeof(int), 0444, NULL, &proc_dointvec}, - {7, "ipif_name", ipif_basename_space, - sizeof(ipif_basename_space), 0444, NULL, &proc_dostring}, - {8, "retry_count", &retry_count, - sizeof(int), 0644, NULL, &proc_dointvec}, - {9, "rnr_retry_count", &rnr_retry_count, - sizeof(int), 0644, NULL, &proc_dointvec}, - {10, "keepalive", &keepalive, - sizeof(int), 0644, NULL, &proc_dointvec}, - {11, "concurrent_sends", &concurrent_sends, - sizeof(int), 0644, NULL, &proc_dointvec}, - {12, "ib_mtu", &ib_mtu, - sizeof(int), 0444, NULL, &proc_dointvec}, +static cfs_sysctl_table_t kiblnd_ctl_table[] = { + { + .ctl_name = 1, + .procname = "service", + .data = &service, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 2, + .procname = "cksum", + .data = &cksum, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 3, + .procname = "timeout", + .data = &timeout, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 4, + .procname = "ntx", + .data = &ntx, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 5, + .procname = "credits", + .data = &credits, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 6, + .procname = "peer_credits", + .data = &peer_credits, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 7, + .procname = "ipif_name", + .data = ipif_basename_space, + .maxlen = sizeof(ipif_basename_space), + .mode = 0444, + .proc_handler = &proc_dostring + }, + { + .ctl_name = 8, + .procname = "retry_count", + .data = &retry_count, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 9, + .procname = "rnr_retry_count", + .data = &rnr_retry_count, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 10, + .procname = "keepalive", + .data = &keepalive, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 11, + .procname = "concurrent_sends", + .data = &concurrent_sends, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 12, + .procname = "ib_mtu", + .data = &ib_mtu, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, #if IBLND_MAP_ON_DEMAND - {12, "fmr_pool_size", &fmr_pool_size, - sizeof(int), 0444, NULL, &proc_dointvec}, - {13, "fmr_flush_trigger", &fmr_flush_trigger, - sizeof(int), 0444, NULL, &proc_dointvec}, - {14, "fmr_cache", &fmr_cache, - sizeof(int), 0444, NULL, &proc_dointvec}, + { + .ctl_name = 13, + .procname = "fmr_pool_size", + .data = &fmr_pool_size, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 14, + .procname = "fmr_flush_trigger", + .data = &fmr_flush_trigger, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 15, + .procname = "fmr_cache", + .data = &fmr_cache, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, #endif - {0} + {0} }; -static ctl_table kiblnd_top_ctl_table[] = { - {203, "o2iblnd", NULL, 0, 0555, kiblnd_ctl_table}, - {0} +static cfs_sysctl_table_t kiblnd_top_ctl_table[] = { + { + .ctl_name = 203, + .procname = "o2iblnd", + .data = NULL, + .maxlen = 0, + .mode = 0555, + .child = kiblnd_ctl_table + }, + {0} }; void @@ -167,18 +264,18 @@ kiblnd_sysctl_init (void) kiblnd_initstrtunable(ipif_basename_space, ipif_name, sizeof(ipif_basename_space)); - kiblnd_tunables.kib_sysctl = - cfs_register_sysctl_table(kiblnd_top_ctl_table, 0); + kiblnd_tunables.kib_sysctl = + cfs_register_sysctl_table(kiblnd_top_ctl_table, 0); - if (kiblnd_tunables.kib_sysctl == NULL) - CWARN("Can't setup /proc tunables\n"); + if (kiblnd_tunables.kib_sysctl == NULL) + CWARN("Can't setup /proc tunables\n"); } void kiblnd_sysctl_fini (void) { - if (kiblnd_tunables.kib_sysctl != NULL) - cfs_unregister_sysctl_table(kiblnd_tunables.kib_sysctl); + if (kiblnd_tunables.kib_sysctl != NULL) + cfs_unregister_sysctl_table(kiblnd_tunables.kib_sysctl); } #else @@ -205,7 +302,7 @@ kiblnd_tunables_init (void) if (*kiblnd_tunables.kib_concurrent_sends < IBLND_MSG_QUEUE_SIZE) *kiblnd_tunables.kib_concurrent_sends = IBLND_MSG_QUEUE_SIZE; - return 0; + return 0; } void diff --git a/lnet/klnds/openiblnd/openiblnd.h b/lnet/klnds/openiblnd/openiblnd.h index 39464c5..4354dd2 100644 --- a/lnet/klnds/openiblnd/openiblnd.h +++ b/lnet/klnds/openiblnd/openiblnd.h @@ -161,7 +161,7 @@ typedef struct int *kib_credits; /* # concurrent sends */ int *kib_peercredits; /* # concurrent sends to 1 peer */ - struct ctl_table_header *kib_sysctl; /* sysctl interface */ + cfs_sysctl_table_header_t *kib_sysctl; /* sysctl interface */ } kib_tunables_t; typedef struct diff --git a/lnet/klnds/openiblnd/openiblnd_modparams.c b/lnet/klnds/openiblnd/openiblnd_modparams.c index 693d38e..5e40f14 100644 --- a/lnet/klnds/openiblnd/openiblnd_modparams.c +++ b/lnet/klnds/openiblnd/openiblnd_modparams.c @@ -33,35 +33,35 @@ CFS_MODULE_PARM(n_connd, "i", int, 0444, static int min_reconnect_interval = 1; CFS_MODULE_PARM(min_reconnect_interval, "i", int, 0644, - "minimum connection retry interval (seconds)"); + "minimum connection retry interval (seconds)"); static int max_reconnect_interval = 60; CFS_MODULE_PARM(max_reconnect_interval, "i", int, 0644, - "maximum connection retry interval (seconds)"); + "maximum connection retry interval (seconds)"); static int concurrent_peers = 1152; CFS_MODULE_PARM(concurrent_peers, "i", int, 0444, - "maximum number of peers that may connect"); + "maximum number of peers that may connect"); static int cksum = 0; CFS_MODULE_PARM(cksum, "i", int, 0644, - "set non-zero to enable message (not RDMA) checksums"); + "set non-zero to enable message (not RDMA) checksums"); static int timeout = 50; CFS_MODULE_PARM(timeout, "i", int, 0644, - "timeout (seconds)"); + "timeout (seconds)"); static int ntx = 384; CFS_MODULE_PARM(ntx, "i", int, 0444, - "# of message descriptors"); + "# of message descriptors"); static int credits = 256; CFS_MODULE_PARM(credits, "i", int, 0444, - "# concurrent sends"); + "# concurrent sends"); static int peer_credits = 16; CFS_MODULE_PARM(peer_credits, "i", int, 0444, - "# concurrent sends to 1 peer"); + "# concurrent sends to 1 peer"); static int keepalive = 100; CFS_MODULE_PARM(keepalive, "i", int, 0644, @@ -69,11 +69,11 @@ CFS_MODULE_PARM(keepalive, "i", int, 0644, kib_tunables_t kibnal_tunables = { .kib_ipif_basename = &ipif_basename, - .kib_n_connd = &n_connd, + .kib_n_connd = &n_connd, .kib_min_reconnect_interval = &min_reconnect_interval, .kib_max_reconnect_interval = &max_reconnect_interval, .kib_concurrent_peers = &concurrent_peers, - .kib_cksum = &cksum, + .kib_cksum = &cksum, .kib_timeout = &timeout, .kib_ntx = &ntx, .kib_credits = &credits, @@ -83,54 +83,127 @@ kib_tunables_t kibnal_tunables = { #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM -static ctl_table kibnal_ctl_table[] = { - {1, "ipif_basename", &ipif_basename, - 1024, 0444, NULL, &proc_dostring}, - {2, "n_connd", &n_connd, - sizeof(int), 0444, NULL, &proc_dointvec}, - {3, "min_reconnect_interval", &min_reconnect_interval, - sizeof(int), 0644, NULL, &proc_dointvec}, - {4, "max_reconnect_interval", &max_reconnect_interval, - sizeof(int), 0644, NULL, &proc_dointvec}, - {5, "concurrent_peers", &concurrent_peers, - sizeof(int), 0444, NULL, &proc_dointvec}, - {6, "cksum", &cksum, - sizeof(int), 0644, NULL, &proc_dointvec}, - {7, "timeout", &timeout, - sizeof(int), 0644, NULL, &proc_dointvec}, - {8, "ntx", &ntx, - sizeof(int), 0444, NULL, &proc_dointvec}, - {9, "credits", &credits, - sizeof(int), 0444, NULL, &proc_dointvec}, - {10, "peer_credits", &peer_credits, - sizeof(int), 0444, NULL, &proc_dointvec}, - {11, "keepalive", &keepalive, - sizeof(int), 0644, NULL, &proc_dointvec}, - {0} +static cfs_sysctl_table_t kibnal_ctl_table[] = { + { + .ctl_name = 1, + .procname = "ipif_basename", + .data = &ipif_basename, + .maxlen = 1024, + .mode = 0444, + .proc_handler = &proc_dostring + }, + { + .ctl_name = 2, + .procname = "n_connd", + .data = &n_connd, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 3, + .procname = "min_reconnect_interval", + .data = &min_reconnect_interval, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 4, + .procname = "max_reconnect_interval", + .data = &max_reconnect_interval, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 5, + .procname = "concurrent_peers", + .data = &concurrent_peers, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 6, + .procname = "cksum", + .data = &cksum, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 7, + .procname = "timeout", + .data = &timeout, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 8, + .procname = "ntx", + .data = &ntx, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 9, + .procname = "credits", + .data = &credits, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 10, + .procname = "peer_credits", + .data = &peer_credits, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 11, + .procname = "keepalive", + .data = &keepalive, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + {0} }; -static ctl_table kibnal_top_ctl_table[] = { - {203, "openibnal", NULL, 0, 0555, kibnal_ctl_table}, - {0} +static cfs_sysctl_table_t kibnal_top_ctl_table[] = { + { + .ctl_name = 203, + .procname = "openibnal", + .data = NULL, + .maxlen = 0, + .mode = 0555, + .child = kibnal_ctl_table + }, + {0} }; int kibnal_tunables_init () { - kibnal_tunables.kib_sysctl = - cfs_register_sysctl_table(kibnal_top_ctl_table, 0); - - if (kibnal_tunables.kib_sysctl == NULL) - CWARN("Can't setup /proc tunables\n"); + kibnal_tunables.kib_sysctl = + cfs_register_sysctl_table(kibnal_top_ctl_table, 0); - return 0; + if (kibnal_tunables.kib_sysctl == NULL) + CWARN("Can't setup /proc tunables\n"); + + return 0; } void kibnal_tunables_fini () { - if (kibnal_tunables.kib_sysctl != NULL) - cfs_unregister_sysctl_table(kibnal_tunables.kib_sysctl); + if (kibnal_tunables.kib_sysctl != NULL) + cfs_unregister_sysctl_table(kibnal_tunables.kib_sysctl); } #else @@ -138,7 +211,7 @@ kibnal_tunables_fini () int kibnal_tunables_init () { - return 0; + return 0; } void diff --git a/lnet/klnds/ptllnd/ptllnd.h b/lnet/klnds/ptllnd/ptllnd.h index e3e61d9..3540749 100755 --- a/lnet/klnds/ptllnd/ptllnd.h +++ b/lnet/klnds/ptllnd/ptllnd.h @@ -101,7 +101,7 @@ typedef struct #endif #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM - struct ctl_table_header *kptl_sysctl; /* sysctl interface */ + cfs_sysctl_table_header_t *kptl_sysctl; /* sysctl interface */ #endif } kptl_tunables_t; diff --git a/lnet/klnds/ptllnd/ptllnd_modparams.c b/lnet/klnds/ptllnd/ptllnd_modparams.c index 1d538e9..c5bff41 100644 --- a/lnet/klnds/ptllnd/ptllnd_modparams.c +++ b/lnet/klnds/ptllnd/ptllnd_modparams.c @@ -21,35 +21,35 @@ static int ntx = 256; CFS_MODULE_PARM(ntx, "i", int, 0444, - "# of TX descriptors"); + "# of TX descriptors"); static int max_nodes = 1152; CFS_MODULE_PARM(max_nodes, "i", int, 0444, - "maximum number of peer nodes"); + "maximum number of peer nodes"); static int max_procs_per_node = 2; CFS_MODULE_PARM(max_procs_per_node, "i", int, 0444, - "maximum number of processes per peer node to cache"); + "maximum number of processes per peer node to cache"); static int checksum = 0; CFS_MODULE_PARM(checksum, "i", int, 0644, - "set non-zero to enable message (not RDMA) checksums"); + "set non-zero to enable message (not RDMA) checksums"); static int timeout = 50; CFS_MODULE_PARM(timeout, "i", int, 0644, - "timeout (seconds)"); + "timeout (seconds)"); static int portal = PTLLND_PORTAL; /* */ CFS_MODULE_PARM(portal, "i", int, 0444, - "portal id"); + "portal id"); static int pid = PTLLND_PID; /* */ CFS_MODULE_PARM(pid, "i", int, 0444, - "portals pid"); + "portals pid"); static int rxb_npages = 1; CFS_MODULE_PARM(rxb_npages, "i", int, 0444, - "# of pages per rx buffer"); + "# of pages per rx buffer"); static int rxb_nspare = 8; CFS_MODULE_PARM(rxb_nspare, "i", int, 0444, @@ -57,19 +57,19 @@ CFS_MODULE_PARM(rxb_nspare, "i", int, 0444, static int credits = 128; CFS_MODULE_PARM(credits, "i", int, 0444, - "concurrent sends"); + "concurrent sends"); static int peercredits = PTLLND_PEERCREDITS; /* */ CFS_MODULE_PARM(peercredits, "i", int, 0444, - "concurrent sends to 1 peer"); + "concurrent sends to 1 peer"); static int max_msg_size = PTLLND_MAX_KLND_MSG_SIZE; /* */ CFS_MODULE_PARM(max_msg_size, "i", int, 0444, - "max size of immediate message"); + "max size of immediate message"); static int peer_hash_table_size = 101; CFS_MODULE_PARM(peer_hash_table_size, "i", int, 0444, - "# of slots in the peer hash table"); + "# of slots in the peer hash table"); static int reschedule_loops = 100; CFS_MODULE_PARM(reschedule_loops, "i", int, 0644, @@ -77,12 +77,12 @@ CFS_MODULE_PARM(reschedule_loops, "i", int, 0644, static int ack_puts = 0; CFS_MODULE_PARM(ack_puts, "i", int, 0644, - "get portals to ack all PUTs"); + "get portals to ack all PUTs"); #ifdef CRAY_XT3 static int ptltrace_on_timeout = 0; CFS_MODULE_PARM(ptltrace_on_timeout, "i", int, 0644, - "dump ptltrace on timeout"); + "dump ptltrace on timeout"); static char *ptltrace_basename = "/tmp/lnet-ptltrace"; CFS_MODULE_PARM(ptltrace_basename, "s", charp, 0644, @@ -91,7 +91,7 @@ CFS_MODULE_PARM(ptltrace_basename, "s", charp, 0644, #ifdef PJK_DEBUGGING static int simulation_bitmap = 0; CFS_MODULE_PARM(simulation_bitmap, "i", int, 0444, - "simulation bitmap"); + "simulation bitmap"); #endif @@ -134,53 +134,162 @@ kptllnd_init_strtunable(char **str_param, char *space, int size) } #endif -static ctl_table kptllnd_ctl_table[] = { - {1, "ntx", &ntx, - sizeof(int), 0444, NULL, &proc_dointvec}, - {2, "max_nodes", &max_nodes, - sizeof(int), 0444, NULL, &proc_dointvec}, - {3, "max_procs_per_node", &max_procs_per_node, - sizeof(int), 0444, NULL, &proc_dointvec}, - {4, "checksum", &checksum, - sizeof(int), 0644, NULL, &proc_dointvec}, - {5, "timeout", &timeout, - sizeof(int), 0644, NULL, &proc_dointvec}, - {6, "portal", &portal, - sizeof(int), 0444, NULL, &proc_dointvec}, - {7, "pid", &pid, - sizeof(int), 0444, NULL, &proc_dointvec}, - {8, "rxb_npages", &rxb_npages, - sizeof(int), 0444, NULL, &proc_dointvec}, - {9, "credits", &credits, - sizeof(int), 0444, NULL, &proc_dointvec}, - {10, "peercredits", &peercredits, - sizeof(int), 0444, NULL, &proc_dointvec}, - {11, "max_msg_size", &max_msg_size, - sizeof(int), 0444, NULL, &proc_dointvec}, - {12, "peer_hash_table_size", &peer_hash_table_size, - sizeof(int), 0444, NULL, &proc_dointvec}, - {13, "reschedule_loops", &reschedule_loops, - sizeof(int), 0444, NULL, &proc_dointvec}, - {14, "ack_puts", &ack_puts, - sizeof(int), 0644, NULL, &proc_dointvec}, +static cfs_sysctl_table_t kptllnd_ctl_table[] = { + { + .ctl_name = 1, + .procname = "ntx", + .data = &ntx, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 2, + .procname = "max_nodes", + .data = &max_nodes, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 3, + .procnmae = "max_procs_per_node", + .data = &max_procs_per_node, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 4, + .procname = "checksum", + .data = &checksum, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 5, + .procname = "timeout", + .data = &timeout, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 6, + .procname = "portal", + .data = &portal, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 7, + .procname = "pid", + .data = &pid, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 8, + .procname = "rxb_npages", + .data = &rxb_npages, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 9, + .procname = "credits", + .data = &credits, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 10, + .procname = "peercredits", + .data = &peercredits, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 11, + .procname = "max_msg_size", + .data = &max_msg_size, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 12, + .procname = "peer_hash_table_size", + .data = &peer_hash_table_size, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 13, + .procname = "reschedule_loops", + .data = &reschedule_loops, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 14, + .procname = "ack_puts", + .data = &ack_puts, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, #ifdef CRAY_XT3 - {15, "ptltrace_on_timeout", &ptltrace_on_timeout, - sizeof(int), 0644, NULL, &proc_dointvec}, - {16, "ptltrace_basename", ptltrace_basename_space, - sizeof(ptltrace_basename_space), 0644, NULL, &proc_dostring, - &sysctl_string}, + { + .ctl_name = 15, + .procname = "ptltrace_on_timeout", + .data = &ptltrace_on_timeout, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 16, + .procname = "ptltrace_basename", + .data = ptltrace_basename_space, + .maxlen = sizeof(ptltrace_basename_space), + .mode = 0644, + .proc_handler = &proc_dostring, + .strategy = &sysctl_string + }, #endif #ifdef PJK_DEBUGGING - {17, "simulation_bitmap", &simulation_bitmap, - sizeof(int), 0444, NULL, &proc_dointvec}, + { + .ctl_name = 17, + .procname = "simulation_bitmap", + .data = &simulation_bitmap, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, #endif - {0} + {0} }; -static ctl_table kptllnd_top_ctl_table[] = { - {203, "ptllnd", NULL, 0, 0555, kptllnd_ctl_table}, - {0} +static cfs_sysctl_table_t kptllnd_top_ctl_table[] = { + { + .ctl_name = 203, + .procname = "ptllnd", + .data = NULL, + .maxlen = 0, + .mode = 0555, + .child = kptllnd_ctl_table + }, + {0} }; int @@ -191,20 +300,20 @@ kptllnd_tunables_init () ptltrace_basename_space, sizeof(ptltrace_basename_space)); #endif - kptllnd_tunables.kptl_sysctl = - cfs_register_sysctl_table(kptllnd_top_ctl_table, 0); + kptllnd_tunables.kptl_sysctl = + cfs_register_sysctl_table(kptllnd_top_ctl_table, 0); - if (kptllnd_tunables.kptl_sysctl == NULL) - CWARN("Can't setup /proc tunables\n"); + if (kptllnd_tunables.kptl_sysctl == NULL) + CWARN("Can't setup /proc tunables\n"); - return 0; + return 0; } void kptllnd_tunables_fini () { - if (kptllnd_tunables.kptl_sysctl != NULL) - cfs_unregister_sysctl_table(kptllnd_tunables.kptl_sysctl); + if (kptllnd_tunables.kptl_sysctl != NULL) + cfs_unregister_sysctl_table(kptllnd_tunables.kptl_sysctl); } #else @@ -212,7 +321,7 @@ kptllnd_tunables_fini () int kptllnd_tunables_init () { - return 0; + return 0; } void diff --git a/lnet/klnds/qswlnd/qswlnd.h b/lnet/klnds/qswlnd/qswlnd.h index a248e19..b2d10da 100644 --- a/lnet/klnds/qswlnd/qswlnd.h +++ b/lnet/klnds/qswlnd/qswlnd.h @@ -243,7 +243,7 @@ typedef struct #endif #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM - struct ctl_table_header *kqn_sysctl; /* sysctl interface */ + cfs_sysctl_table_header_t *kqn_sysctl; /* sysctl interface */ #endif } kqswnal_tunables_t; diff --git a/lnet/klnds/qswlnd/qswlnd_modparams.c b/lnet/klnds/qswlnd/qswlnd_modparams.c index 45b8cec..03512c0 100644 --- a/lnet/klnds/qswlnd/qswlnd_modparams.c +++ b/lnet/klnds/qswlnd/qswlnd_modparams.c @@ -23,123 +23,196 @@ static int tx_maxcontig = (1<<10); CFS_MODULE_PARM(tx_maxcontig, "i", int, 0444, - "maximum payload to de-fragment"); + "maximum payload to de-fragment"); static int ntxmsgs = 512; CFS_MODULE_PARM(ntxmsgs, "i", int, 0444, - "# tx msg buffers"); + "# tx msg buffers"); static int credits = 128; CFS_MODULE_PARM(credits, "i", int, 0444, - "# concurrent sends"); + "# concurrent sends"); static int peer_credits = 8; CFS_MODULE_PARM(peer_credits, "i", int, 0444, - "# per-peer concurrent sends"); + "# per-peer concurrent sends"); static int nrxmsgs_large = 64; CFS_MODULE_PARM(nrxmsgs_large, "i", int, 0444, - "# 'large' rx msg buffers"); + "# 'large' rx msg buffers"); static int ep_envelopes_large = 256; CFS_MODULE_PARM(ep_envelopes_large, "i", int, 0444, - "# 'large' rx msg envelope buffers"); + "# 'large' rx msg envelope buffers"); static int nrxmsgs_small = 256; CFS_MODULE_PARM(nrxmsgs_small, "i", int, 0444, - "# 'small' rx msg buffers"); + "# 'small' rx msg buffers"); static int ep_envelopes_small = 2048; CFS_MODULE_PARM(ep_envelopes_small, "i", int, 0444, - "# 'small' rx msg envelope buffers"); + "# 'small' rx msg envelope buffers"); static int optimized_puts = (32<<10); CFS_MODULE_PARM(optimized_puts, "i", int, 0644, - "zero-copy puts >= this size"); + "zero-copy puts >= this size"); static int optimized_gets = 2048; CFS_MODULE_PARM(optimized_gets, "i", int, 0644, - "zero-copy gets >= this size"); + "zero-copy gets >= this size"); #if KQSW_CKSUM static int inject_csum_error = 0; CFS_MODULE_PARM(inject_csum_error, "i", int, 0644, - "test checksumming"); + "test checksumming"); #endif kqswnal_tunables_t kqswnal_tunables = { - .kqn_tx_maxcontig = &tx_maxcontig, - .kqn_ntxmsgs = &ntxmsgs, - .kqn_credits = &credits, - .kqn_peercredits = &peer_credits, - .kqn_nrxmsgs_large = &nrxmsgs_large, - .kqn_ep_envelopes_large = &ep_envelopes_large, - .kqn_nrxmsgs_small = &nrxmsgs_small, - .kqn_ep_envelopes_small = &ep_envelopes_small, - .kqn_optimized_puts = &optimized_puts, - .kqn_optimized_gets = &optimized_gets, + .kqn_tx_maxcontig = &tx_maxcontig, + .kqn_ntxmsgs = &ntxmsgs, + .kqn_credits = &credits, + .kqn_peercredits = &peer_credits, + .kqn_nrxmsgs_large = &nrxmsgs_large, + .kqn_ep_envelopes_large = &ep_envelopes_large, + .kqn_nrxmsgs_small = &nrxmsgs_small, + .kqn_ep_envelopes_small = &ep_envelopes_small, + .kqn_optimized_puts = &optimized_puts, + .kqn_optimized_gets = &optimized_gets, #if KQSW_CKSUM - .kqn_inject_csum_error = &inject_csum_error, + .kqn_inject_csum_error = &inject_csum_error, #endif }; #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM -static ctl_table kqswnal_ctl_table[] = { - {1, "tx_maxcontig", &tx_maxcontig, - sizeof (int), 0444, NULL, &proc_dointvec}, - {2, "ntxmsgs", &ntxmsgs, - sizeof (int), 0444, NULL, &proc_dointvec}, - {3, "credits", &credits, - sizeof (int), 0444, NULL, &proc_dointvec}, - {4, "peer_credits", &peer_credits, - sizeof (int), 0444, NULL, &proc_dointvec}, - {5, "nrxmsgs_large", &nrxmsgs_large, - sizeof (int), 0444, NULL, &proc_dointvec}, - {6, "ep_envelopes_large", &ep_envelopes_large, - sizeof (int), 0444, NULL, &proc_dointvec}, - {7, "nrxmsgs_small", &nrxmsgs_small, - sizeof (int), 0444, NULL, &proc_dointvec}, - {8, "ep_envelopes_small", &ep_envelopes_small, - sizeof (int), 0444, NULL, &proc_dointvec}, - {9, "optimized_puts", &optimized_puts, - sizeof (int), 0644, NULL, &proc_dointvec}, - {10, "optimized_gets", &optimized_gets, - sizeof (int), 0644, NULL, &proc_dointvec}, +static cfs_sysctl_table_t kqswnal_ctl_table[] = { + { + .ctl_name = 1, + .procname = "tx_maxcontig", + .data = &tx_maxcontig, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 2, + .procname = "ntxmsgs", + .data = &ntxmsgs, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 3, + .procname = "credits", + .data = &credits, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 4, + .procname = "peer_credits", + .data = &peer_credits, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 5, + .procname = "nrxmsgs_large", + .data = &nrxmsgs_large, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 6, + .procname = "ep_envelopes_large", + .data = &ep_envelopes_large, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 7, + .procname = "nrxmsgs_small", + .data = &nrxmsgs_small, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 8, + .procname = "ep_envelopes_small", + .data = &ep_envelopes_small, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 9, + .procname = "optimized_puts", + .data = &optimized_puts, + .maxlen = sizeof (int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 10, + .procname = "optimized_gets", + .data = &optimized_gets, + .maxlen = sizeof (int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, #if KQSW_CKSUM - {11, "inject_csum_error", &inject_csum_error, - sizeof (int), 0644, NULL, &proc_dointvec}, + { + .ctl_name = 11, + .procname = "inject_csum_error", + .data = &inject_csum_error, + .maxlen = sizeof (int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, #endif - {0} + {0} }; -static ctl_table kqswnal_top_ctl_table[] = { - {201, "qswnal", NULL, 0, 0555, kqswnal_ctl_table}, - {0} +static cfs_sysctl_table_t kqswnal_top_ctl_table[] = { + { + .ctl_name = 201, + .procname = "qswnal", + .data = NULL, + .maxlen = 0, + .mode = 0555, + .child = kqswnal_ctl_table + }, + {0} }; int kqswnal_tunables_init () { - kqswnal_tunables.kqn_sysctl = - cfs_register_sysctl_table(kqswnal_top_ctl_table, 0); - - if (kqswnal_tunables.kqn_sysctl == NULL) - CWARN("Can't setup /proc tunables\n"); + kqswnal_tunables.kqn_sysctl = + cfs_register_sysctl_table(kqswnal_top_ctl_table, 0); - return 0; + if (kqswnal_tunables.kqn_sysctl == NULL) + CWARN("Can't setup /proc tunables\n"); + + return 0; } void kqswnal_tunables_fini () { - if (kqswnal_tunables.kqn_sysctl != NULL) - cfs_unregister_sysctl_table(kqswnal_tunables.kqn_sysctl); + if (kqswnal_tunables.kqn_sysctl != NULL) + cfs_unregister_sysctl_table(kqswnal_tunables.kqn_sysctl); } #else -int +int kqswnal_tunables_init () { - return 0; + return 0; } void diff --git a/lnet/klnds/ralnd/ralnd.h b/lnet/klnds/ralnd/ralnd.h index cd646eb..e4281c3 100644 --- a/lnet/klnds/ralnd/ralnd.h +++ b/lnet/klnds/ralnd/ralnd.h @@ -88,7 +88,7 @@ typedef struct int *kra_max_immediate; /* immediate payload breakpoint */ #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM - struct ctl_table_header *kra_sysctl; /* sysctl interface */ + cfs_sysctl_table_header_t *kra_sysctl; /* sysctl interface */ #endif } kra_tunables_t; @@ -429,7 +429,7 @@ int kranal_recv(lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg, int kranal_accept(lnet_ni_t *ni, struct socket *sock); extern void kranal_free_acceptsock (kra_acceptsock_t *ras); -extern int kranal_listener_procint (ctl_table *table, +extern int kranal_listener_procint (cfs_sysctl_table_t *table, int write, struct file *filp, void *buffer, size_t *lenp); extern void kranal_update_reaper_timeout (long timeout); diff --git a/lnet/klnds/ralnd/ralnd_modparams.c b/lnet/klnds/ralnd/ralnd_modparams.c index 42aaac4..e6ee1bd 100644 --- a/lnet/klnds/ralnd/ralnd_modparams.c +++ b/lnet/klnds/ralnd/ralnd_modparams.c @@ -29,93 +29,154 @@ CFS_MODULE_PARM(n_connd, "i", int, 0444, static int min_reconnect_interval = 1; CFS_MODULE_PARM(min_reconnect_interval, "i", int, 0644, - "minimum connection retry interval (seconds)"); + "minimum connection retry interval (seconds)"); static int max_reconnect_interval = 60; CFS_MODULE_PARM(max_reconnect_interval, "i", int, 0644, - "maximum connection retry interval (seconds)"); + "maximum connection retry interval (seconds)"); static int ntx = 256; CFS_MODULE_PARM(ntx, "i", int, 0444, - "# of transmit descriptors"); + "# of transmit descriptors"); static int credits = 128; CFS_MODULE_PARM(credits, "i", int, 0444, - "# concurrent sends"); + "# concurrent sends"); static int peer_credits = 32; CFS_MODULE_PARM(peer_credits, "i", int, 0444, - "# concurrent sends to 1 peer"); + "# concurrent sends to 1 peer"); static int fma_cq_size = 8192; CFS_MODULE_PARM(fma_cq_size, "i", int, 0444, - "size of the completion queue"); + "size of the completion queue"); static int timeout = 30; CFS_MODULE_PARM(timeout, "i", int, 0644, - "communications timeout (seconds)"); + "communications timeout (seconds)"); static int max_immediate = (2<<10); CFS_MODULE_PARM(max_immediate, "i", int, 0644, - "immediate/RDMA breakpoint"); + "immediate/RDMA breakpoint"); kra_tunables_t kranal_tunables = { - .kra_n_connd = &n_connd, - .kra_min_reconnect_interval = &min_reconnect_interval, - .kra_max_reconnect_interval = &max_reconnect_interval, - .kra_ntx = &ntx, - .kra_credits = &credits, - .kra_peercredits = &peer_credits, - .kra_fma_cq_size = &fma_cq_size, - .kra_timeout = &timeout, - .kra_max_immediate = &max_immediate, + .kra_n_connd = &n_connd, + .kra_min_reconnect_interval = &min_reconnect_interval, + .kra_max_reconnect_interval = &max_reconnect_interval, + .kra_ntx = &ntx, + .kra_credits = &credits, + .kra_peercredits = &peer_credits, + .kra_fma_cq_size = &fma_cq_size, + .kra_timeout = &timeout, + .kra_max_immediate = &max_immediate, }; #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM -static ctl_table kranal_ctl_table[] = { - {1, "n_connd", &n_connd, - sizeof(int), 0444, NULL, &proc_dointvec}, - {2, "min_reconnect_interval", &min_reconnect_interval, - sizeof(int), 0644, NULL, &proc_dointvec}, - {3, "max_reconnect_interval", &max_reconnect_interval, - sizeof(int), 0644, NULL, &proc_dointvec}, - {4, "ntx", &ntx, - sizeof(int), 0444, NULL, &proc_dointvec}, - {5, "credits", &credits, - sizeof(int), 0444, NULL, &proc_dointvec}, - {6, "peer_credits", &peer_credits, - sizeof(int), 0444, NULL, &proc_dointvec}, - {7, "fma_cq_size", &fma_cq_size, - sizeof(int), 0444, NULL, &proc_dointvec}, - {8, "timeout", &timeout, - sizeof(int), 0644, NULL, &proc_dointvec}, - {9, "max_immediate", &max_immediate, - sizeof(int), 0644, NULL, &proc_dointvec}, - {0} +static cfs_sysctl_table_t kranal_ctl_table[] = { + { + .ctl_name = 1, + .procname = "n_connd", + .data = &n_connd, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 2, + .procname = "min_reconnect_interval", + .data = &min_reconnect_interval, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 3, + .procname = "max_reconnect_interval", + .data = &max_reconnect_interval, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 4, + .procname = "ntx", + .data = &ntx, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 5, + .procname = "credits", + .data = &credits, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 6, + .procname = "peer_credits", + .data = &peer_credits, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 7, + .procname = "fma_cq_size", + .data = &fma_cq_size, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 8, + .procname = "timeout", + .data = &timeout, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 9, + .procname = "max_immediate", + .data = &max_immediate, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + {0} }; -static ctl_table kranal_top_ctl_table[] = { - {202, "ranal", NULL, 0, 0555, kranal_ctl_table}, - {0} +static cfs_sysctl_table_t kranal_top_ctl_table[] = { + { + .ctl_name = 202, + .procname = "ranal", + .data = NULL, + .maxlen = 0, + .mode = 0555, + .child = kranal_ctl_table + }, + {0} }; int kranal_tunables_init () { - kranal_tunables.kra_sysctl = - cfs_register_sysctl_table(kranal_top_ctl_table, 0); + kranal_tunables.kra_sysctl = + cfs_register_sysctl_table(kranal_top_ctl_table, 0); - if (kranal_tunables.kra_sysctl == NULL) - CWARN("Can't setup /proc tunables\n"); + if (kranal_tunables.kra_sysctl == NULL) + CWARN("Can't setup /proc tunables\n"); - return 0; + return 0; } void kranal_tunables_fini () { - if (kranal_tunables.kra_sysctl != NULL) - cfs_unregister_sysctl_table(kranal_tunables.kra_sysctl); + if (kranal_tunables.kra_sysctl != NULL) + cfs_unregister_sysctl_table(kranal_tunables.kra_sysctl); } #else @@ -123,7 +184,7 @@ kranal_tunables_fini () int kranal_tunables_init () { - return 0; + return 0; } void diff --git a/lnet/klnds/socklnd/socklnd_lib-linux.c b/lnet/klnds/socklnd/socklnd_lib-linux.c index 955849c..d3d3f44 100644 --- a/lnet/klnds/socklnd/socklnd_lib-linux.c +++ b/lnet/klnds/socklnd/socklnd_lib-linux.c @@ -5,91 +5,212 @@ #include "socklnd.h" # if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM -static ctl_table ksocknal_ctl_table[21]; +static cfs_sysctl_table_t ksocknal_ctl_table[21]; -ctl_table ksocknal_top_ctl_table[] = { - {200, "socknal", NULL, 0, 0555, ksocknal_ctl_table}, +cfs_sysctl_table_t ksocknal_top_ctl_table[] = { + { + .ctl_name = 200, + .procname = "socknal", + .data = NULL, + .maxlen = 0, + .mode = 0555, + .child = ksocknal_ctl_table + }, { 0 } }; int ksocknal_lib_tunables_init () { - int i = 0; - int j = 1; - - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "timeout", ksocknal_tunables.ksnd_timeout, - sizeof (int), 0644, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "credits", ksocknal_tunables.ksnd_credits, - sizeof (int), 0444, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "peer_credits", ksocknal_tunables.ksnd_peercredits, - sizeof (int), 0444, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "nconnds", ksocknal_tunables.ksnd_nconnds, - sizeof (int), 0444, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "min_reconnectms", ksocknal_tunables.ksnd_min_reconnectms, - sizeof (int), 0444, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "max_reconnectms", ksocknal_tunables.ksnd_max_reconnectms, - sizeof (int), 0444, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "eager_ack", ksocknal_tunables.ksnd_eager_ack, - sizeof (int), 0644, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "zero_copy", ksocknal_tunables.ksnd_zc_min_frag, - sizeof (int), 0644, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "typed", ksocknal_tunables.ksnd_typed_conns, - sizeof (int), 0444, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "min_bulk", ksocknal_tunables.ksnd_min_bulk, - sizeof (int), 0644, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "rx_buffer_size", ksocknal_tunables.ksnd_rx_buffer_size, - sizeof(int), 0644, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "tx_buffer_size", ksocknal_tunables.ksnd_tx_buffer_size, - sizeof(int), 0644, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "nagle", ksocknal_tunables.ksnd_nagle, - sizeof(int), 0644, NULL, &proc_dointvec}; + int i = 0; + int j = 1; + + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "timeout", + .data = ksocknal_tunables.ksnd_timeout, + .maxlen = sizeof (int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "credits", + .data = ksocknal_tunables.ksnd_credits, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "peer_credits", + .data = ksocknal_tunables.ksnd_peercredits, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "nconnds", + .data = ksocknal_tunables.ksnd_nconnds, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "min_reconnectms", + .data = ksocknal_tunables.ksnd_min_reconnectms, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "max_reconnectms", + .data = ksocknal_tunables.ksnd_max_reconnectms, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "eager_ack", + .data = ksocknal_tunables.ksnd_eager_ack, + .maxlen = sizeof (int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "zero_copy", + .data = ksocknal_tunables.ksnd_zc_min_frag, + .maxlen = sizeof (int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "typed", + .data = ksocknal_tunables.ksnd_typed_conns, + .maxlen = sizeof (int), + .mode = 0444, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "min_bulk", + .data = ksocknal_tunables.ksnd_min_bulk, + .maxlen = sizeof (int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "rx_buffer_size", + .data = ksocknal_tunables.ksnd_rx_buffer_size, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "tx_buffer_size", + .data = ksocknal_tunables.ksnd_tx_buffer_size, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "nagle", + .data = ksocknal_tunables.ksnd_nagle, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; #if CPU_AFFINITY - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "irq_affinity", ksocknal_tunables.ksnd_irq_affinity, - sizeof(int), 0644, NULL, &proc_dointvec}; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "irq_affinity", + .data = ksocknal_tunables.ksnd_irq_affinity, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; #endif - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "keepalive_idle", ksocknal_tunables.ksnd_keepalive_idle, - sizeof(int), 0644, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "keepalive_count", ksocknal_tunables.ksnd_keepalive_count, - sizeof(int), 0644, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "keepalive_intvl", ksocknal_tunables.ksnd_keepalive_intvl, - sizeof(int), 0644, NULL, &proc_dointvec}; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "keepalive_idle", + .data = ksocknal_tunables.ksnd_keepalive_idle, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "keepalive_count", + .data = ksocknal_tunables.ksnd_keepalive_count, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "keepalive_intvl", + .data = ksocknal_tunables.ksnd_keepalive_intvl, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; #ifdef SOCKNAL_BACKOFF - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "backoff_init", ksocknal_tunables.ksnd_backoff_init, - sizeof(int), 0644, NULL, &proc_dointvec}; - ksocknal_ctl_table[i++] = (ctl_table) - {j++, "backoff_max", ksocknal_tunables.ksnd_backoff_max, - sizeof(int), 0644, NULL, &proc_dointvec}; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "backoff_init", + .data = ksocknal_tunables.ksnd_backoff_init, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; + ksocknal_ctl_table[i++] = + { + .ctl_name = j++, + .procname = "backoff_max", + .data = ksocknal_tunables.ksnd_backoff_max, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }; #endif - LASSERT (j == i+1); - LASSERT (i < sizeof(ksocknal_ctl_table)/sizeof(ksocknal_ctl_table[0])); + LASSERT (j == i+1); + LASSERT (i < sizeof(ksocknal_ctl_table)/sizeof(ksocknal_ctl_table[0])); ksocknal_tunables.ksnd_sysctl = cfs_register_sysctl_table(ksocknal_top_ctl_table, 0); if (ksocknal_tunables.ksnd_sysctl == NULL) - CWARN("Can't setup /proc tunables\n"); + CWARN("Can't setup /proc tunables\n"); - return 0; + return 0; } void @@ -102,7 +223,7 @@ ksocknal_lib_tunables_fini () int ksocknal_lib_tunables_init () { - return 0; + return 0; } void @@ -149,7 +270,7 @@ ksocknal_lib_bind_irq (unsigned int irq) "echo %d > /proc/irq/%u/smp_affinity", 1 << cpu, irq); LCONSOLE_INFO("Binding irq %u to CPU %d with cmd: %s\n", - irq, cpu, cmdline); + irq, cpu, cmdline); /* FIXME: Find a better method of setting IRQ affinity... */ @@ -162,8 +283,8 @@ int ksocknal_lib_get_conn_addrs (ksock_conn_t *conn) { int rc = libcfs_sock_getaddr(conn->ksnc_sock, 1, - &conn->ksnc_ipaddr, - &conn->ksnc_port); + &conn->ksnc_ipaddr, + &conn->ksnc_port); /* Didn't need the {get,put}connsock dance to deref ksnc_sock... */ LASSERT (!conn->ksnc_closing); @@ -174,7 +295,7 @@ ksocknal_lib_get_conn_addrs (ksock_conn_t *conn) } rc = libcfs_sock_getaddr(conn->ksnc_sock, 0, - &conn->ksnc_myipaddr, NULL); + &conn->ksnc_myipaddr, NULL); if (rc != 0) { CERROR ("Error %d getting sock local IP\n", rc); return rc; @@ -213,7 +334,7 @@ int ksocknal_lib_zc_capable(struct socket *sock) { int caps = sock->sk->sk_route_caps; - + /* ZC if the socket supports scatter/gather and doesn't need software * checksums */ return ((caps & NETIF_F_SG) != 0 && @@ -270,7 +391,7 @@ ksocknal_lib_send_iov (ksock_conn_t *conn, ksock_tx_t *tx) rc = sock_sendmsg(sock, &msg, nob); set_fs (oldmm); } - return rc; + return rc; } int @@ -341,7 +462,7 @@ ksocknal_lib_send_kiov (ksock_conn_t *conn, ksock_tx_t *tx) for (i = 0; i < niov; i++) kunmap(kiov[i].kiov_page); } - return rc; + return rc; } void @@ -420,14 +541,14 @@ ksocknal_lib_recv_iov (ksock_conn_t *conn) fragnob = iov[i].iov_len; if (fragnob > sum) fragnob = sum; - - conn->ksnc_rx_csum = ksocknal_csum(conn->ksnc_rx_csum, + + conn->ksnc_rx_csum = ksocknal_csum(conn->ksnc_rx_csum, iov[i].iov_base, fragnob); } conn->ksnc_msg.ksm_csum = saved_csum; } - return rc; + return rc; } int @@ -487,7 +608,7 @@ ksocknal_lib_recv_kiov (ksock_conn_t *conn) fragnob = kiov[i].kiov_len; if (fragnob > sum) fragnob = sum; - + conn->ksnc_rx_csum = ksocknal_csum(conn->ksnc_rx_csum, base, fragnob); @@ -497,7 +618,7 @@ ksocknal_lib_recv_kiov (ksock_conn_t *conn) for (i = 0; i < niov; i++) kunmap(kiov[i].kiov_page); - return (rc); + return (rc); } void ksocknal_lib_csum_tx(ksock_tx_t *tx) @@ -553,13 +674,13 @@ ksocknal_lib_get_conn_tunables (ksock_conn_t *conn, int *txmem, int *rxmem, int return (-ESHUTDOWN); } - rc = libcfs_sock_getbuf(sock, txmem, rxmem); + rc = libcfs_sock_getbuf(sock, txmem, rxmem); if (rc == 0) { len = sizeof(*nagle); - set_fs(KERNEL_DS); + set_fs(KERNEL_DS); rc = sock->ops->getsockopt(sock, SOL_TCP, TCP_NODELAY, (char *)nagle, &len); - set_fs(oldmm); + set_fs(oldmm); } ksocknal_connsock_decref(conn); @@ -624,15 +745,15 @@ ksocknal_lib_setup_sock (struct socket *sock) } } - rc = libcfs_sock_setbuf(sock, + rc = libcfs_sock_setbuf(sock, *ksocknal_tunables.ksnd_tx_buffer_size, *ksocknal_tunables.ksnd_rx_buffer_size); - if (rc != 0) { - CERROR ("Can't set buffer tx %d, rx %d buffers: %d\n", + if (rc != 0) { + CERROR ("Can't set buffer tx %d, rx %d buffers: %d\n", *ksocknal_tunables.ksnd_tx_buffer_size, *ksocknal_tunables.ksnd_rx_buffer_size, rc); - return (rc); - } + return (rc); + } /* TCP_BACKOFF_* sockopt tunables unsupported in stock kernels */ #ifdef SOCKNAL_BACKOFF @@ -792,7 +913,7 @@ ksocknal_data_ready (struct sock *sk, int n) LASSERT (sk->sk_data_ready != &ksocknal_data_ready); sk->sk_data_ready (sk, n); } else - ksocknal_read_callback(conn); + ksocknal_read_callback(conn); read_unlock (&ksocknal_data.ksnd_global_lock); @@ -832,11 +953,11 @@ ksocknal_write_space (struct sock *sk) } if (wspace >= min_wpace) { /* got enough space */ - ksocknal_write_callback(conn); + ksocknal_write_callback(conn); - /* Clear SOCK_NOSPACE _after_ ksocknal_write_callback so the - * ENOMEM check in ksocknal_transmit is race-free (think about - * it). */ + /* Clear SOCK_NOSPACE _after_ ksocknal_write_callback so the + * ENOMEM check in ksocknal_transmit is race-free (think about + * it). */ clear_bit (SOCK_NOSPACE, &sk->sk_socket->flags); } @@ -847,33 +968,33 @@ ksocknal_write_space (struct sock *sk) void ksocknal_lib_save_callback(struct socket *sock, ksock_conn_t *conn) { - conn->ksnc_saved_data_ready = sock->sk->sk_data_ready; - conn->ksnc_saved_write_space = sock->sk->sk_write_space; + conn->ksnc_saved_data_ready = sock->sk->sk_data_ready; + conn->ksnc_saved_write_space = sock->sk->sk_write_space; } void ksocknal_lib_set_callback(struct socket *sock, ksock_conn_t *conn) { - sock->sk->sk_user_data = conn; - sock->sk->sk_data_ready = ksocknal_data_ready; - sock->sk->sk_write_space = ksocknal_write_space; - return; + sock->sk->sk_user_data = conn; + sock->sk->sk_data_ready = ksocknal_data_ready; + sock->sk->sk_write_space = ksocknal_write_space; + return; } void ksocknal_lib_reset_callback(struct socket *sock, ksock_conn_t *conn) { - /* Remove conn's network callbacks. - * NB I _have_ to restore the callback, rather than storing a noop, - * since the socket could survive past this module being unloaded!! */ - sock->sk->sk_data_ready = conn->ksnc_saved_data_ready; - sock->sk->sk_write_space = conn->ksnc_saved_write_space; - - /* A callback could be in progress already; they hold a read lock - * on ksnd_global_lock (to serialise with me) and NOOP if - * sk_user_data is NULL. */ - sock->sk->sk_user_data = NULL; - - return ; + /* Remove conn's network callbacks. + * NB I _have_ to restore the callback, rather than storing a noop, + * since the socket could survive past this module being unloaded!! */ + sock->sk->sk_data_ready = conn->ksnc_saved_data_ready; + sock->sk->sk_write_space = conn->ksnc_saved_write_space; + + /* A callback could be in progress already; they hold a read lock + * on ksnd_global_lock (to serialise with me) and NOOP if + * sk_user_data is NULL. */ + sock->sk->sk_user_data = NULL; + + return ; } diff --git a/lnet/klnds/viblnd/viblnd.h b/lnet/klnds/viblnd/viblnd.h index 2b1ffd5..ef9f670 100644 --- a/lnet/klnds/viblnd/viblnd.h +++ b/lnet/klnds/viblnd/viblnd.h @@ -171,7 +171,7 @@ typedef struct int *kib_fmr_remaps; /* # FMR maps before unmap required */ #endif #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM - struct ctl_table_header *kib_sysctl; /* sysctl interface */ + cfs_sysctl_table_header_t *kib_sysctl; /* sysctl interface */ #endif } kib_tunables_t; diff --git a/lnet/klnds/viblnd/viblnd_modparams.c b/lnet/klnds/viblnd/viblnd_modparams.c index 22cf75a..d578bde 100644 --- a/lnet/klnds/viblnd/viblnd_modparams.c +++ b/lnet/klnds/viblnd/viblnd_modparams.c @@ -29,39 +29,39 @@ CFS_MODULE_PARM(service_number, "i", int, 0444, static int min_reconnect_interval = 1; CFS_MODULE_PARM(min_reconnect_interval, "i", int, 0644, - "minimum connection retry interval (seconds)"); + "minimum connection retry interval (seconds)"); static int max_reconnect_interval = 60; CFS_MODULE_PARM(max_reconnect_interval, "i", int, 0644, - "maximum connection retry interval (seconds)"); + "maximum connection retry interval (seconds)"); static int concurrent_peers = 1152; CFS_MODULE_PARM(concurrent_peers, "i", int, 0444, - "maximum number of peers that may connect"); + "maximum number of peers that may connect"); static int cksum = 0; CFS_MODULE_PARM(cksum, "i", int, 0644, - "set non-zero to enable message (not RDMA) checksums"); + "set non-zero to enable message (not RDMA) checksums"); static int timeout = 50; CFS_MODULE_PARM(timeout, "i", int, 0644, - "timeout (seconds)"); + "timeout (seconds)"); static int ntx = 256; CFS_MODULE_PARM(ntx, "i", int, 0444, - "# of message descriptors"); + "# of message descriptors"); static int credits = 128; CFS_MODULE_PARM(credits, "i", int, 0444, - "# concurrent sends"); + "# concurrent sends"); static int peer_credits = 8; CFS_MODULE_PARM(peer_credits, "i", int, 0444, - "# concurrent sends to 1 peer"); + "# concurrent sends to 1 peer"); static int arp_retries = 3; CFS_MODULE_PARM(arp_retries, "i", int, 0644, - "# of times to retry ARP"); + "# of times to retry ARP"); static char *hca_basename = "InfiniHost"; CFS_MODULE_PARM(hca_basename, "s", charp, 0444, @@ -130,53 +130,174 @@ kib_tunables_t kibnal_tunables = { static char hca_basename_space[32]; static char ipif_basename_space[32]; -static ctl_table kibnal_ctl_table[] = { - {1, "service_number", &service_number, - sizeof(int), 0444, NULL, &proc_dointvec}, - {2, "min_reconnect_interval", &min_reconnect_interval, - sizeof(int), 0644, NULL, &proc_dointvec}, - {3, "max_reconnect_interval", &max_reconnect_interval, - sizeof(int), 0644, NULL, &proc_dointvec}, - {4, "concurrent_peers", &concurrent_peers, - sizeof(int), 0444, NULL, &proc_dointvec}, - {5, "cksum", &cksum, - sizeof(int), 0644, NULL, &proc_dointvec}, - {6, "timeout", &timeout, - sizeof(int), 0644, NULL, &proc_dointvec}, - {7, "ntx", &ntx, - sizeof(int), 0444, NULL, &proc_dointvec}, - {8, "credits", &credits, - sizeof(int), 0444, NULL, &proc_dointvec}, - {9, "peer_credits", &peer_credits, - sizeof(int), 0444, NULL, &proc_dointvec}, - {10, "arp_retries", &arp_retries, - sizeof(int), 0644, NULL, &proc_dointvec}, - {11, "hca_basename", hca_basename_space, - sizeof(hca_basename_space), 0444, NULL, &proc_dostring}, - {12, "ipif_basename", ipif_basename_space, - sizeof(ipif_basename_space), 0444, NULL, &proc_dostring}, - {13, "local_ack_timeout", &local_ack_timeout, - sizeof(int), 0644, NULL, &proc_dointvec}, - {14, "retry_cnt", &retry_cnt, - sizeof(int), 0644, NULL, &proc_dointvec}, - {15, "rnr_cnt", &rnr_cnt, - sizeof(int), 0644, NULL, &proc_dointvec}, - {16, "rnr_nak_timer", &rnr_nak_timer, - sizeof(int), 0644, NULL, &proc_dointvec}, - {17, "keepalive", &keepalive, - sizeof(int), 0644, NULL, &proc_dointvec}, - {18, "concurrent_sends", &concurrent_sends, - sizeof(int), 0644, NULL, &proc_dointvec}, +static cfs_sysctl_table_t kibnal_ctl_table[] = { + { + .ctl_name = 1, + .procname = "service_number", + .data = &service_number, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 2, + .procname = "min_reconnect_interval", + .data = &min_reconnect_interval, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 3, + .procname = "max_reconnect_interval", + .data = &max_reconnect_interval, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 4, + .procname = "concurrent_peers", + .data = &concurrent_peers, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + ,ctl_name = 5, + .procname = "cksum", + .data = &cksum, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 6, + .procname = "timeout", + .data = &timeout, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 7, + .procname = "ntx", + .data = &ntx, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 8, + .procname = "credits", + .data = &credits, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 9, + .procname = "peer_credits", + .data = &peer_credits, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 10, + .procname = "arp_retries", + .data = &arp_retries, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 11, + .procname = "hca_basename", + .data = hca_basename_space, + .maxlen = sizeof(hca_basename_space), + .mode = 0444, + .proc_handler = &proc_dostring + }, + { + .ctl_name = 12, + .procname = "ipif_basename", + .data = ipif_basename_space, + .maxlen = sizeof(ipif_basename_space), + .mode = 0444, + .proc_handler = &proc_dostring + }, + { + .ctl_name = 13, + .procname = "local_ack_timeout", + .data = &local_ack_timeout, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 14, + .procname = "retry_cnt", + .data = &retry_cnt, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 15, + .procname = "rnr_cnt", + .data = &rnr_cnt, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 16, + .procname = "rnr_nak_timer", + .data = &rnr_nak_timer, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 17, + .procname = "keepalive", + .data = &keepalive, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, + { + .ctl_name = 18, + .procname = "concurrent_sends", + .data = &concurrent_sends, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec + }, #if IBNAL_USE_FMR - {19, "fmr_remaps", &fmr_remaps, - sizeof(int), 0444, NULL, &proc_dointvec}, -#endif - {0} + { + .ctl_name = 19, + .procname = "fmr_remaps", + .data = &fmr_remaps, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec + }, +#endif + {0} }; -static ctl_table kibnal_top_ctl_table[] = { - {203, "vibnal", NULL, 0, 0555, kibnal_ctl_table}, - {0} +static cfs_sysctl_table_t kibnal_top_ctl_table[] = { + { + .ctl_name = 203, + .procname = "vibnal", + .data = NULL, + .maxlen = 0, + .mode = 0555, + .child = kibnal_ctl_table + }, + {0} }; void @@ -194,25 +315,25 @@ kibnal_tunables_init () kibnal_initstrtunable(ipif_basename_space, ipif_basename, sizeof(ipif_basename_space)); - kibnal_tunables.kib_sysctl = - cfs_register_sysctl_table(kibnal_top_ctl_table, 0); + kibnal_tunables.kib_sysctl = + cfs_register_sysctl_table(kibnal_top_ctl_table, 0); - if (kibnal_tunables.kib_sysctl == NULL) - CWARN("Can't setup /proc tunables\n"); + if (kibnal_tunables.kib_sysctl == NULL) + CWARN("Can't setup /proc tunables\n"); if (*kibnal_tunables.kib_concurrent_sends > IBNAL_RX_MSGS) *kibnal_tunables.kib_concurrent_sends = IBNAL_RX_MSGS; if (*kibnal_tunables.kib_concurrent_sends < IBNAL_MSG_QUEUE_SIZE) *kibnal_tunables.kib_concurrent_sends = IBNAL_MSG_QUEUE_SIZE; - return 0; + return 0; } void kibnal_tunables_fini () { - if (kibnal_tunables.kib_sysctl != NULL) - cfs_unregister_sysctl_table(kibnal_tunables.kib_sysctl); + if (kibnal_tunables.kib_sysctl != NULL) + cfs_unregister_sysctl_table(kibnal_tunables.kib_sysctl); } #else @@ -220,7 +341,7 @@ kibnal_tunables_fini () int kibnal_tunables_init () { - return 0; + return 0; } void diff --git a/lnet/libcfs/linux/linux-proc.c b/lnet/libcfs/linux/linux-proc.c index 17e65ba..d4d8424 100644 --- a/lnet/libcfs/linux/linux-proc.c +++ b/lnet/libcfs/linux/linux-proc.c @@ -59,7 +59,7 @@ #include #include "tracefile.h" -static struct ctl_table_header *lnet_table_header = NULL; +static cfs_sysctl_table_header_t *lnet_table_header = NULL; extern char lnet_upcall[1024]; #define PSDEV_LNET (0x100) @@ -78,7 +78,7 @@ enum { int LL_PROC_PROTO(proc_dobitmasks); -static struct ctl_table lnet_table[] = { +static cfs_sysctl_table_t lnet_table[] = { { .ctl_name = PSDEV_DEBUG, .procname = "debug", @@ -158,7 +158,7 @@ static struct ctl_table lnet_table[] = { {0} }; -static struct ctl_table top_table[2] = { +static cfs_sysctl_table_t top_table[2] = { { .ctl_name = PSDEV_LNET, .procname = "lnet", @@ -179,11 +179,11 @@ int LL_PROC_PROTO(proc_dobitmasks) * and proc_dostring into doing the drudgery by cheating * with a dummy ctl_table */ - struct ctl_table dummy = *table; + cfs_sysctl_table_t dummy = *table; unsigned int *mask = (unsigned int *)table->data; int is_subsys = (mask == &libcfs_subsystem_debug) ? 1 : 0; - str = kmalloc(tmpstrlen, GFP_USER); + str = kmalloc(tmpstrlen, GFP_USER); if (str == NULL) return -ENOMEM;