CFS_MODULE_PARM(checksum, "i", int, 0644,
"set non-zero to enable message (not RDMA) checksums");
-static int timeout = 50;
+/* NB 250 is the Cray Portals wire timeout */
+static int timeout = 250;
CFS_MODULE_PARM(timeout, "i", int, 0644,
"timeout (seconds)");
CFS_MODULE_PARM(ptltrace_on_timeout, "i", int, 0644,
"dump ptltrace on timeout");
+static int ptltrace_on_fail = 1;
+CFS_MODULE_PARM(ptltrace_on_fail, "i", int, 0644,
+ "dump ptltrace on Portals failure");
+
static char *ptltrace_basename = "/tmp/lnet-ptltrace";
CFS_MODULE_PARM(ptltrace_basename, "s", charp, 0644,
"ptltrace dump file basename");
.kptl_ack_puts = &ack_puts,
#ifdef CRAY_XT3
.kptl_ptltrace_on_timeout = &ptltrace_on_timeout,
+ .kptl_ptltrace_on_fail = &ptltrace_on_fail,
.kptl_ptltrace_basename = &ptltrace_basename,
#endif
#ifdef PJK_DEBUGGING
}
#endif
+#ifndef HAVE_SYSCTL_UNNUMBERED
+
+enum {
+ KPTLLND_NTX = 1,
+ KPTLLND_MAX_NODES,
+ KPTLLND_MAX_PROC_PER_NODE,
+ KPTLLND_CHECKSUM,
+ KPTLLND_TIMEOUT,
+ KPTLLND_PORTAL,
+ KPTLLND_PID,
+ KPTLLND_RXB_PAGES,
+ KPTLLND_CREDITS,
+ KPTLLND_PEERCREDITS,
+ KPTLLND_MAX_MSG_SIZE,
+ KPTLLND_PEER_HASH_SIZE,
+ KPTLLND_RESHEDULE_LOOPS,
+ KPTLLND_ACK_PUTS,
+ KPTLLND_TRACETIMEOUT,
+ KPTLLND_TRACEFAIL,
+ KPTLLND_TRACEBASENAME,
+ KPTLLND_SIMULATION_BITMAP
+};
+#else
+
+#define KPTLLND_NTX CTL_UNNUMBERED
+#define KPTLLND_MAX_NODES CTL_UNNUMBERED
+#define KPTLLND_MAX_PROC_PER_NODE CTL_UNNUMBERED
+#define KPTLLND_CHECKSUM CTL_UNNUMBERED
+#define KPTLLND_TIMEOUT CTL_UNNUMBERED
+#define KPTLLND_PORTAL CTL_UNNUMBERED
+#define KPTLLND_PID CTL_UNNUMBERED
+#define KPTLLND_RXB_PAGES CTL_UNNUMBERED
+#define KPTLLND_CREDITS CTL_UNNUMBERED
+#define KPTLLND_PEERCREDITS CTL_UNNUMBERED
+#define KPTLLND_MAX_MSG_SIZE CTL_UNNUMBERED
+#define KPTLLND_PEER_HASH_SIZE CTL_UNNUMBERED
+#define KPTLLND_RESHEDULE_LOOPS CTL_UNNUMBERED
+#define KPTLLND_ACK_PUTS CTL_UNNUMBERED
+#define KPTLLND_TRACETIMEOUT CTL_UNNUMBERED
+#define KPTLLND_TRACEFAIL CTL_UNNUMBERED
+#define KPTLLND_TRACEBASENAME CTL_UNNUMBERED
+#define KPTLLND_SIMULATION_BITMAP CTL_UNNUMBERED
+#endif
+
static cfs_sysctl_table_t kptllnd_ctl_table[] = {
{
- .ctl_name = 1,
+ .ctl_name = KPTLLND_NTX,
.procname = "ntx",
.data = &ntx,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 2,
+ .ctl_name = KPTLLND_MAX_NODES,
.procname = "max_nodes",
.data = &max_nodes,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 3,
+ .ctl_name = KPTLLND_MAX_PROC_PER_NODE,
.procname = "max_procs_per_node",
.data = &max_procs_per_node,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 4,
+ .ctl_name = KPTLLND_CHECKSUM,
.procname = "checksum",
.data = &checksum,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 5,
+ .ctl_name = KPTLLND_TIMEOUT,
.procname = "timeout",
.data = &timeout,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 6,
+ .ctl_name = KPTLLND_PORTAL,
.procname = "portal",
.data = &portal,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 7,
+ .ctl_name = KPTLLND_PID,
.procname = "pid",
.data = &pid,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 8,
+ .ctl_name = KPTLLND_RXB_PAGES,
.procname = "rxb_npages",
.data = &rxb_npages,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 9,
+ .ctl_name = KPTLLND_CREDITS,
.procname = "credits",
.data = &credits,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 10,
+ .ctl_name = KPTLLND_PEERCREDITS,
.procname = "peercredits",
.data = &peercredits,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 11,
+ .ctl_name = KPTLLND_MAX_MSG_SIZE,
.procname = "max_msg_size",
.data = &max_msg_size,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 12,
+ .ctl_name = KPTLLND_PEER_HASH_SIZE,
.procname = "peer_hash_table_size",
.data = &peer_hash_table_size,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 13,
+ .ctl_name = KPTLLND_RESHEDULE_LOOPS,
.procname = "reschedule_loops",
.data = &reschedule_loops,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 14,
+ .ctl_name = KPTLLND_ACK_PUTS,
.procname = "ack_puts",
.data = &ack_puts,
.maxlen = sizeof(int),
},
#ifdef CRAY_XT3
{
- .ctl_name = 15,
+ .ctl_name = KPTLLND_TRACETIMEOUT,
.procname = "ptltrace_on_timeout",
.data = &ptltrace_on_timeout,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- .ctl_name = 16,
+ .ctl_name = KPTLLND_TRACEFAIL,
+ .procname = "ptltrace_on_fail",
+ .data = &ptltrace_on_fail,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = &proc_dointvec
+ },
+ {
+ .ctl_name = KPTLLND_TRACEBASENAME,
.procname = "ptltrace_basename",
.data = ptltrace_basename_space,
.maxlen = sizeof(ptltrace_basename_space),
#endif
#ifdef PJK_DEBUGGING
{
- .ctl_name = 17,
+ .ctl_name = KPTLLND_SIMULATION_BITMAP,
.procname = "simulation_bitmap",
.data = &simulation_bitmap,
.maxlen = sizeof(int),
static cfs_sysctl_table_t kptllnd_top_ctl_table[] = {
{
- .ctl_name = 203,
+ .ctl_name = CTL_PTLLND,
.procname = "ptllnd",
.data = NULL,
.maxlen = 0,