#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) \
#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
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;
};
#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);
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;
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,
.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,
* 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
int
kibnal_tunables_init ()
{
- return 0;
+ return 0;
}
void
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;
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,
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
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
if (*kiblnd_tunables.kib_concurrent_sends < IBLND_MSG_QUEUE_SIZE)
*kiblnd_tunables.kib_concurrent_sends = IBLND_MSG_QUEUE_SIZE;
- return 0;
+ return 0;
}
void
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
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,
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,
#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
int
kibnal_tunables_init ()
{
- return 0;
+ return 0;
}
void
#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;
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; /* <lnet/ptllnd_wire.h> */
CFS_MODULE_PARM(portal, "i", int, 0444,
- "portal id");
+ "portal id");
static int pid = PTLLND_PID; /* <lnet/ptllnd_wire.h> */
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,
static int credits = 128;
CFS_MODULE_PARM(credits, "i", int, 0444,
- "concurrent sends");
+ "concurrent sends");
static int peercredits = PTLLND_PEERCREDITS; /* <lnet/ptllnd_wire.h> */
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; /* <lnet/ptllnd_wire.h> */
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,
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,
#ifdef PJK_DEBUGGING
static int simulation_bitmap = 0;
CFS_MODULE_PARM(simulation_bitmap, "i", int, 0444,
- "simulation bitmap");
+ "simulation bitmap");
#endif
}
#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
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
int
kptllnd_tunables_init ()
{
- return 0;
+ return 0;
}
void
#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;
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
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;
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);
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
int
kranal_tunables_init ()
{
- return 0;
+ return 0;
}
void
#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
int
ksocknal_lib_tunables_init ()
{
- return 0;
+ return 0;
}
void
"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...
*/
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);
}
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;
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 &&
rc = sock_sendmsg(sock, &msg, nob);
set_fs (oldmm);
}
- return rc;
+ return rc;
}
int
for (i = 0; i < niov; i++)
kunmap(kiov[i].kiov_page);
}
- return rc;
+ return rc;
}
void
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
fragnob = kiov[i].kiov_len;
if (fragnob > sum)
fragnob = sum;
-
+
conn->ksnc_rx_csum = ksocknal_csum(conn->ksnc_rx_csum,
base, fragnob);
for (i = 0; i < niov; i++)
kunmap(kiov[i].kiov_page);
- return (rc);
+ return (rc);
}
void ksocknal_lib_csum_tx(ksock_tx_t *tx)
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);
}
}
- 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
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);
}
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);
}
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 ;
}
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;
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,
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
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
int
kibnal_tunables_init ()
{
- return 0;
+ return 0;
}
void
#include <asm/div64.h>
#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)
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",
{0}
};
-static struct ctl_table top_table[2] = {
+static cfs_sysctl_table_t top_table[2] = {
{
.ctl_name = PSDEV_LNET,
.procname = "lnet",
* 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;