Whamcloud - gitweb
LU-6261 gnilnd: Add pkey module parameter
[fs/lustre-release.git] / lnet / klnds / gnilnd / gnilnd_modparams.c
index 03184ad..d89dc3e 100644 (file)
@@ -29,6 +29,10 @@ static int credits = 256;
 CFS_MODULE_PARM(credits, "i", int, 0444,
                "# concurrent sends");
 
+static int eager_credits = 256 * 1024;
+CFS_MODULE_PARM(eager_credits, "i", int, 0444,
+               "# eager buffers");
+
 static int peer_credits = 16;
 CFS_MODULE_PARM(peer_credits, "i", int, 0444,
                "# LNet peer credits");
@@ -62,7 +66,7 @@ static int max_reconnect_interval = GNILND_MAX_RECONNECT_TO;
 CFS_MODULE_PARM(max_reconnect_interval, "i", int, 0644,
                "maximum connection retry interval (seconds)");
 
-static int max_immediate = (2<<10);
+static int max_immediate = 8192;
 CFS_MODULE_PARM(max_immediate, "i", int, 0644,
                "immediate/RDMA breakpoint");
 
@@ -82,10 +86,17 @@ static int bte_relaxed_ordering = 1;
 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");
@@ -166,6 +177,23 @@ static int dgram_timeout = GNILND_DGRAM_TIMEOUT;
 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 (diabled)");
+
 kgn_tunables_t kgnilnd_tunables = {
        .kgn_min_reconnect_interval = &min_reconnect_interval,
        .kgn_max_reconnect_interval = &max_reconnect_interval,
@@ -180,6 +208,7 @@ kgn_tunables_t kgnilnd_tunables = {
        .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,
@@ -199,7 +228,12 @@ kgn_tunables_t kgnilnd_tunables = {
        .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_max_purgatory          = &max_conn_purg
 };
 
 #if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM
@@ -286,6 +320,14 @@ static struct ctl_table kgnilnd_ctl_table[] = {
        },
        {
                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),
@@ -467,6 +509,38 @@ static struct ctl_table kgnilnd_ctl_table[] = {
                .mode     = 0444,
                .proc_handler = &proc_dointvec
        },
+       {
+               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 = "max_conn_purg"
+               .data     = &max_conn_purg,
+               .maxlen   = sizeof(int),
+               .mode     = 0644,
+               .proc_handler = &proc_dointvec
+       },
        { 0 }
 };