Whamcloud - gitweb
LU-6261 gnilnd: Add pkey module parameter 33/15433/2
authorChris Horn <hornc@cray.com>
Mon, 29 Jun 2015 18:46:54 +0000 (13:46 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Sat, 25 Jul 2015 03:07:42 +0000 (03:07 +0000)
lustre:19561 changed the pkey to the value reserved in gni_pub.h and
the max_immediate size. These need to be the same on both the service
and compute nodes for gnilnd to establish a connection.
Add the module parameter pkey so that a node running a dev version of
software will be able to connect to a node running an older version
with appropriate changes to modprobe.conf.
With this change, add the following parameters to
IMAGE_PATH/compute/etc/modprobe.conf:

options kgnilnd max_immediate=2048
options kgnilnd pkey=0xa3579

Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: I08ea2d66e745c37f41931a53e599bc572664dd9a
Reviewed-on: http://review.whamcloud.com/15433
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: James Shimek <jshimek@cray.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lnet/klnds/gnilnd/gnilnd.c
lnet/klnds/gnilnd/gnilnd.h
lnet/klnds/gnilnd/gnilnd_modparams.c

index 482b70e..7e67339 100644 (file)
@@ -2001,7 +2001,7 @@ kgnilnd_dev_init(kgn_device_t *dev)
        cq_size = *kgnilnd_tunables.kgn_credits * 2 * 3;
 
        rrc = kgnilnd_cdm_create(dev->gnd_id, *kgnilnd_tunables.kgn_ptag,
-                                GNI_JOB_CREATE_COOKIE(GNI_PKEY_LND, 0), 0,
+                                *kgnilnd_tunables.kgn_pkey, 0,
                                 &dev->gnd_domain);
        if (rrc != GNI_RC_SUCCESS) {
                CERROR("Can't create CDM %d (%d)\n", dev->gnd_id, rrc);
index a05ef82..a878522 100644 (file)
@@ -458,6 +458,7 @@ typedef struct kgn_tunables {
        int              *kgn_bte_dlvr_mode;    /* BTE delivery mode mask */
        int              *kgn_bte_relaxed_ordering; /* relaxed ordering (PASSPW) on BTE transfers */
        int              *kgn_ptag;             /* PTAG for cdm_create */
+       int              *kgn_pkey;             /* PKEY for cdm_create */
        int              *kgn_max_retransmits;  /* max number of FMA retransmits */
        int              *kgn_nwildcard;        /* # wildcard per net to post */
        int              *kgn_nice;             /* nice value for kgnilnd threads */
index d8e8d87..d89dc3e 100644 (file)
@@ -94,6 +94,9 @@ static int ptag = GNI_PTAG_LND;
 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");
@@ -205,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,
@@ -316,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),