CFS_MODULE_PARM(credits, "i", int, 0444,
"# concurrent sends");
+static int eager_credits = 256 * 1024;
+CFS_MODULE_PARM(eager_credits, "i", int, 0644,
+ "# eager buffers");
+
static int peer_credits = 16;
CFS_MODULE_PARM(peer_credits, "i", int, 0444,
"# LNet peer credits");
CFS_MODULE_PARM(max_reconnect_interval, "i", int, 0644,
"maximum connection retry interval (seconds)");
-static int max_immediate = (2<<10);
-CFS_MODULE_PARM(max_immediate, "i", int, 0644,
+static int max_immediate = 2048;
+CFS_MODULE_PARM(max_immediate, "i", int, 0444,
"immediate/RDMA breakpoint");
static int checksum = GNILND_CHECKSUM_DEFAULT;
CFS_MODULE_PARM(bte_relaxed_ordering, "i", int, 0644,
"enable relaxed ordering (PASSPW) for BTE (RDMA) transfers");
+#ifdef CONFIG_MK1OM
+static int ptag = GNI_PTAG_LND_KNC;
+#else
static int ptag = GNI_PTAG_LND;
+#endif
CFS_MODULE_PARM(ptag, "i", int, 0444,
"ptag for Gemini CDM");
+static int pkey = GNI_JOB_CREATE_COOKIE(GNI_PKEY_LND, 0);
+CFS_MODULE_PARM(pkey, "i", int, 0444, "pkey for CDM");
+
static int max_retransmits = 1024;
CFS_MODULE_PARM(max_retransmits, "i", int, 0444,
"max retransmits for FMA");
CFS_MODULE_PARM(dgram_timeout, "i", int, 0644,
"dgram thread aliveness seconds max time");
+static int efault_lbug = 0;
+CFS_MODULE_PARM(efault_lbug, "i", int, 0644,
+ "If a compute receives an EFAULT in"
+ " a message should it LBUG. 0 off 1 on");
+
+static int fast_reconn = GNILND_FAST_RECONNECT;
+CFS_MODULE_PARM(fast_reconn, "i", int, 0644,
+ "fast reconnect on connection timeout");
+
+static int max_conn_purg = GNILND_PURGATORY_MAX;
+CFS_MODULE_PARM(max_conn_purg, "i", int, 0644,
+ "Max number of connections per peer in purgatory");
+
+static int thread_affinity = 0;
+CFS_MODULE_PARM(thread_affinity, "i", int, 0444,
+ "scheduler thread affinity default 0 (disabled)");
+
+static int thread_safe = GNILND_TS_ENABLE;
+CFS_MODULE_PARM(thread_safe, "i", int, 0444,
+ "Use kgni thread safe API if available");
+
+static int reg_fail_timeout = GNILND_REGFAILTO_DISABLE;
+CFS_MODULE_PARM(reg_fail_timeout, "i", int, 0644,
+ "fmablk registration timeout LBUG");
+
kgn_tunables_t kgnilnd_tunables = {
.kgn_min_reconnect_interval = &min_reconnect_interval,
.kgn_max_reconnect_interval = &max_reconnect_interval,
.kgn_bte_dlvr_mode = &bte_dlvr_mode,
.kgn_bte_relaxed_ordering = &bte_relaxed_ordering,
.kgn_ptag = &ptag,
+ .kgn_pkey = &pkey,
.kgn_max_retransmits = &max_retransmits,
.kgn_nwildcard = &nwildcard,
.kgn_nice = &nice,
.kgn_sched_timeout = &sched_timeout,
.kgn_sched_nice = &sched_nice,
.kgn_reverse_rdma = &reverse_rdma,
- .kgn_dgram_timeout = &dgram_timeout
+ .kgn_dgram_timeout = &dgram_timeout,
+ .kgn_eager_credits = &eager_credits,
+ .kgn_fast_reconn = &fast_reconn,
+ .kgn_efault_lbug = &efault_lbug,
+ .kgn_thread_affinity = &thread_affinity,
+ .kgn_thread_safe = &thread_safe,
+ .kgn_reg_fail_timeout = ®_fail_timeout,
+ .kgn_max_purgatory = &max_conn_purg
};
#if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM
-static cfs_sysctl_table_t kgnilnd_ctl_table[] = {
+static struct ctl_table kgnilnd_ctl_table[] = {
{
- INIT_CTL_NAME(2)
+ INIT_CTL_NAME
.procname = "min_reconnect_interval",
.data = &min_reconnect_interval,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(3)
+ INIT_CTL_NAME
.procname = "max_reconnect_interval",
.data = &max_reconnect_interval,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(5)
+ INIT_CTL_NAME
.procname = "credits",
.data = &credits,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(6)
+ INIT_CTL_NAME
.procname = "peer_credits",
.data = &peer_credits,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(7)
+ INIT_CTL_NAME
.procname = "fma_cq_size",
.data = &fma_cq_size,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(8)
+ INIT_CTL_NAME
.procname = "timeout",
.data = &timeout,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(9)
+ INIT_CTL_NAME
.procname = "max_immediate",
.data = &max_immediate,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(10)
+ INIT_CTL_NAME
.procname = "checksum",
.data = &checksum,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(11)
+ INIT_CTL_NAME
.procname = "bte_dlvr_mode",
.data = &bte_dlvr_mode,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(13)
+ INIT_CTL_NAME
.procname = "ptag",
.data = &ptag,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(14)
+ INIT_CTL_NAME
+ .procname = "pkey",
+ .data = &pkey,
+ .maxlen = sizeof(int),
+ .mode = 0444,
+ .proc_handler = &proc_dointvec
+ },
+ {
+ INIT_CTL_NAME
.procname = "nwildcard",
.data = &nwildcard,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(15)
+ INIT_CTL_NAME
.procname = "bte_relaxed_ordering",
.data = &bte_relaxed_ordering,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(16)
+ INIT_CTL_NAME
.procname = "checksum_dump",
.data = &checksum_dump,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(17)
+ INIT_CTL_NAME
.procname = "nice",
.data = &nice,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(18)
+ INIT_CTL_NAME
.procname = "rdmaq_intervals",
.data = &rdmaq_intervals,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(19)
+ INIT_CTL_NAME
.procname = "loops",
.data = &loops,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(20)
+ INIT_CTL_NAME
.procname = "hash_size",
.data = &hash_size,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(21)
+ INIT_CTL_NAME
.procname = "peer_health",
.data = &peer_health,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(22)
+ INIT_CTL_NAME
.procname = "vmap_cksum",
.data = &vmap_cksum,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(23)
+ INIT_CTL_NAME
.procname = "mbox_per_block",
.data = &mbox_per_block,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(24)
+ INIT_CTL_NAME
.procname = "mbox_credits"
.data = &mbox_credits,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(25)
+ INIT_CTL_NAME
.procname = "sched_threads"
.data = &sched_threads,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(26)
+ INIT_CTL_NAME
.procname = "net_hash_size",
.data = &net_hash_size,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(27)
+ INIT_CTL_NAME
.procname = "hardware_timeout",
.data = &hardware_timeout,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(28)
+ INIT_CTL_NAME
.procname = "mdd_timeout",
.data = &mdd_timeout,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(29)
+ INIT_CTL_NAME
.procname = "max_retransmits"
.data = &max_retransmits,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(30)
+ INIT_CTL_NAME
.procname = "concurrent_sends",
.data = &concurrent_sends,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(31)
+ INIT_CTL_NAME
.procname = "nphys_mbox",
.data = &nphys_mbox,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(32)
+ INIT_CTL_NAME
.procname = "sched_timeout",
.data = &sched_timeout,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(33)
+ INIT_CTL_NAME
.procname = "sched_nice",
.data = &sched_nice,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(34)
+ INIT_CTL_NAME
.procname = "reverse_rdma",
.data = &reverse_rdma,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec
},
- INIT_CTL_NAME(35)
+ INIT_CTL_NAME
.procname = "dgram_timeout"
.data = &dgram_timeout,
.maxlen = sizeof(int),
.proc_handler = &proc_dointvec
},
{
- INIT_CTL_NAME(36)
+ INIT_CTL_NAME
.procname = "peer_timeout"
.data = &peer_timeout,
.maxlen = sizeof(int),
.mode = 0444,
.proc_handler = &proc_dointvec
},
- {0}
+ {
+ INIT_CTL_NAME
+ .procname = "eager_credits",
+ .data = &eager_credits,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = &proc_dointvec
+ },
+ {
+ INIT_CTL_NAME
+ .procname = "efault_lbug"
+ .data = &efault_lbug,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = &proc_dointvec
+ },
+ {
+ INIT_CTL_NAME
+ .procname = "thread_affinity"
+ .data = &thread_affinity,
+ .maxlen = sizeof(int),
+ .mode = 0444,
+ .proc_handler = &proc_dointvec
+ },
+ {
+ INIT_CTL_NAME
+ .procname = "thread_safe"
+ .data = &thread_safe,
+ .maxlen = sizeof(int),
+ .mode = 0444,
+ .proc_handler = &proc_dointvec
+ },
+ {
+ INIT_CTL_NAME
+ .procname = "reg_fail_timeout"
+ .data = ®_fail_timeout,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = &proc_dointvec
+ },
+ {
+ INIT_CTL_NAME
+ .procname = "max_conn_purg"
+ .data = &max_conn_purg,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = &proc_dointvec
+ },
+ { 0 }
};
-static cfs_sysctl_table_t kgnilnd_top_ctl_table[] = {
+static struct ctl_table kgnilnd_top_ctl_table[] = {
{
- INIT_CTL_NAME(202)
+ INIT_CTL_NAME
.procname = "gnilnd",
.data = NULL,
.maxlen = 0,
.mode = 0555,
.child = kgnilnd_ctl_table
},
- { INIT_CTL_NAME(0) }
+ { 0 }
};
#endif
#if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM
kgnilnd_tunables.kgn_sysctl =
- cfs_register_sysctl_table(kgnilnd_top_ctl_table, 0);
+ register_sysctl_table(kgnilnd_top_ctl_table, 0);
if (kgnilnd_tunables.kgn_sysctl == NULL)
CWARN("Can't setup /proc tunables\n");
{
#if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM
if (kgnilnd_tunables.kgn_sysctl != NULL)
- cfs_unregister_sysctl_table(kgnilnd_tunables.kgn_sysctl);
+ unregister_sysctl_table(kgnilnd_tunables.kgn_sysctl);
#endif
}