From: Chris Horn Date: Mon, 29 Jun 2015 18:46:54 +0000 (-0500) Subject: LU-6261 gnilnd: Add pkey module parameter X-Git-Tag: 2.7.57~9 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=47d17a97a3decf242595a45dba8143bdb44ec5ec LU-6261 gnilnd: Add pkey module parameter 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 Change-Id: I08ea2d66e745c37f41931a53e599bc572664dd9a Reviewed-on: http://review.whamcloud.com/15433 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: James Simmons Reviewed-by: James Shimek Reviewed-by: Doug Oucharek Reviewed-by: Oleg Drokin --- diff --git a/lnet/klnds/gnilnd/gnilnd.c b/lnet/klnds/gnilnd/gnilnd.c index 482b70e..7e67339 100644 --- a/lnet/klnds/gnilnd/gnilnd.c +++ b/lnet/klnds/gnilnd/gnilnd.c @@ -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); diff --git a/lnet/klnds/gnilnd/gnilnd.h b/lnet/klnds/gnilnd/gnilnd.h index a05ef82..a878522 100644 --- a/lnet/klnds/gnilnd/gnilnd.h +++ b/lnet/klnds/gnilnd/gnilnd.h @@ -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 */ diff --git a/lnet/klnds/gnilnd/gnilnd_modparams.c b/lnet/klnds/gnilnd/gnilnd_modparams.c index d8e8d87..d89dc3e 100644 --- a/lnet/klnds/gnilnd/gnilnd_modparams.c +++ b/lnet/klnds/gnilnd/gnilnd_modparams.c @@ -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),