staging: lustre: o2iblnd: create default o2iblnd tunable settings
Create and set the default o2iblnd tunables when the ko2iblnd module loads. Move kiblnd_tunables_setup() to when the NI iterface is initialized. Signed-off-by: Amir Shehata <amir.shehata@intel.com> Signed-off-by: James Simmons <uja.ornl@yahoo.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-7101 Reviewed-on: http://review.whamcloud.com/16367 Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com> Reviewed-by: Olaf Weber <olaf@sgi.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9e7d5bf357
commit
025ba82631
|
@ -2920,6 +2920,9 @@ static int kiblnd_startup(lnet_ni_t *ni)
|
||||||
net->ibn_incarnation = tv.tv_sec * USEC_PER_SEC +
|
net->ibn_incarnation = tv.tv_sec * USEC_PER_SEC +
|
||||||
tv.tv_nsec / NSEC_PER_USEC;
|
tv.tv_nsec / NSEC_PER_USEC;
|
||||||
|
|
||||||
|
rc = kiblnd_tunables_setup();
|
||||||
|
if (rc)
|
||||||
|
goto net_failed;
|
||||||
ni->ni_peertimeout = *kiblnd_tunables.kib_peertimeout;
|
ni->ni_peertimeout = *kiblnd_tunables.kib_peertimeout;
|
||||||
ni->ni_maxtxcredits = *kiblnd_tunables.kib_credits;
|
ni->ni_maxtxcredits = *kiblnd_tunables.kib_credits;
|
||||||
ni->ni_peertxcredits = *kiblnd_tunables.kib_peertxcredits;
|
ni->ni_peertxcredits = *kiblnd_tunables.kib_peertxcredits;
|
||||||
|
@ -3005,8 +3008,6 @@ static void __exit ko2iblnd_exit(void)
|
||||||
|
|
||||||
static int __init ko2iblnd_init(void)
|
static int __init ko2iblnd_init(void)
|
||||||
{
|
{
|
||||||
int rc;
|
|
||||||
|
|
||||||
CLASSERT(sizeof(kib_msg_t) <= IBLND_MSG_SIZE);
|
CLASSERT(sizeof(kib_msg_t) <= IBLND_MSG_SIZE);
|
||||||
CLASSERT(offsetof(kib_msg_t,
|
CLASSERT(offsetof(kib_msg_t,
|
||||||
ibm_u.get.ibgm_rd.rd_frags[IBLND_MAX_RDMA_FRAGS])
|
ibm_u.get.ibgm_rd.rd_frags[IBLND_MAX_RDMA_FRAGS])
|
||||||
|
@ -3015,9 +3016,7 @@ static int __init ko2iblnd_init(void)
|
||||||
ibm_u.putack.ibpam_rd.rd_frags[IBLND_MAX_RDMA_FRAGS])
|
ibm_u.putack.ibpam_rd.rd_frags[IBLND_MAX_RDMA_FRAGS])
|
||||||
<= IBLND_MSG_SIZE);
|
<= IBLND_MSG_SIZE);
|
||||||
|
|
||||||
rc = kiblnd_tunables_init();
|
kiblnd_tunables_init();
|
||||||
if (rc)
|
|
||||||
return rc;
|
|
||||||
|
|
||||||
lnet_register_lnd(&the_o2iblnd);
|
lnet_register_lnd(&the_o2iblnd);
|
||||||
|
|
||||||
|
|
|
@ -994,7 +994,8 @@ int kiblnd_fmr_pool_map(kib_fmr_poolset_t *fps, kib_tx_t *tx,
|
||||||
kib_fmr_t *fmr);
|
kib_fmr_t *fmr);
|
||||||
void kiblnd_fmr_pool_unmap(kib_fmr_t *fmr, int status);
|
void kiblnd_fmr_pool_unmap(kib_fmr_t *fmr, int status);
|
||||||
|
|
||||||
int kiblnd_tunables_init(void);
|
int kiblnd_tunables_setup(void);
|
||||||
|
void kiblnd_tunables_init(void);
|
||||||
void kiblnd_tunables_fini(void);
|
void kiblnd_tunables_fini(void);
|
||||||
|
|
||||||
int kiblnd_connd(void *arg);
|
int kiblnd_connd(void *arg);
|
||||||
|
|
|
@ -171,6 +171,8 @@ kib_tunables_t kiblnd_tunables = {
|
||||||
.kib_nscheds = &nscheds
|
.kib_nscheds = &nscheds
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct lnet_ioctl_config_o2iblnd_tunables default_tunables;
|
||||||
|
|
||||||
/* # messages/RDMAs in-flight */
|
/* # messages/RDMAs in-flight */
|
||||||
int kiblnd_msg_queue_size(int version, lnet_ni_t *ni)
|
int kiblnd_msg_queue_size(int version, lnet_ni_t *ni)
|
||||||
{
|
{
|
||||||
|
@ -182,8 +184,7 @@ int kiblnd_msg_queue_size(int version, lnet_ni_t *ni)
|
||||||
return peer_credits;
|
return peer_credits;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int kiblnd_tunables_setup(void)
|
||||||
kiblnd_tunables_init(void)
|
|
||||||
{
|
{
|
||||||
if (kiblnd_translate_mtu(*kiblnd_tunables.kib_ib_mtu) < 0) {
|
if (kiblnd_translate_mtu(*kiblnd_tunables.kib_ib_mtu) < 0) {
|
||||||
CERROR("Invalid ib_mtu %d, expected 256/512/1024/2048/4096\n",
|
CERROR("Invalid ib_mtu %d, expected 256/512/1024/2048/4096\n",
|
||||||
|
@ -234,3 +235,14 @@ kiblnd_tunables_init(void)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void kiblnd_tunables_init(void)
|
||||||
|
{
|
||||||
|
default_tunables.lnd_version = 0;
|
||||||
|
default_tunables.lnd_peercredits_hiw = peer_credits_hiw,
|
||||||
|
default_tunables.lnd_map_on_demand = map_on_demand;
|
||||||
|
default_tunables.lnd_concurrent_sends = concurrent_sends;
|
||||||
|
default_tunables.lnd_fmr_pool_size = fmr_pool_size;
|
||||||
|
default_tunables.lnd_fmr_flush_trigger = fmr_flush_trigger;
|
||||||
|
default_tunables.lnd_fmr_cache = fmr_cache;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue