X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lnet%2Fklnds%2Fsocklnd%2Fsocklnd_modparams.c;h=6fa44f37891eb45708ae183a0c65efd36b090bf7;hb=5f6630f155d2e77b14477accb6afd56fb8e8a7b1;hp=d42d696014daef65a386a7660a78c3940bc457f9;hpb=08328081eb1bc506a4573b0bc42476f8e7fc7089;p=fs%2Flustre-release.git diff --git a/lnet/klnds/socklnd/socklnd_modparams.c b/lnet/klnds/socklnd/socklnd_modparams.c index d42d696..6fa44f3 100644 --- a/lnet/klnds/socklnd/socklnd_modparams.c +++ b/lnet/klnds/socklnd/socklnd_modparams.c @@ -33,6 +33,14 @@ static int peer_credits = 8; CFS_MODULE_PARM(peer_credits, "i", int, 0444, "# concurrent sends to 1 peer"); +static int peer_buffer_credits = 0; +CFS_MODULE_PARM(peer_buffer_credits, "i", int, 0444, + "# per-peer router buffer credits"); + +static int peer_timeout = 0; +CFS_MODULE_PARM(peer_timeout, "i", int, 0444, + "Seconds without aliveness news to declare peer dead (<=0 to disable)"); + static int nconnds = 4; CFS_MODULE_PARM(nconnds, "i", int, 0444, "# connection daemons"); @@ -83,6 +91,14 @@ static int nagle = 0; CFS_MODULE_PARM(nagle, "i", int, 0644, "enable NAGLE?"); +static int round_robin = 1; +CFS_MODULE_PARM(round_robin, "i", int, 0644, + "Round robin for multiple interfaces"); + +static int keepalive = 30; +CFS_MODULE_PARM(keepalive, "i", int, 0644, + "# seconds before send keepalive"); + static int keepalive_idle = 30; CFS_MODULE_PARM(keepalive_idle, "i", int, 0644, "# idle seconds before probe"); @@ -113,9 +129,9 @@ CFS_MODULE_PARM(enable_irq_affinity, "i", int, 0644, "enable IRQ affinity"); #endif -static unsigned int zc_min_frag = (2<<10); -CFS_MODULE_PARM(zc_min_frag, "i", int, 0644, - "minimum fragment to zero copy"); +static unsigned int zc_min_payload = (16 << 10); +CFS_MODULE_PARM(zc_min_payload, "i", int, 0644, + "minimum payload size to zero copy"); static unsigned int zc_recv = 0; CFS_MODULE_PARM(zc_recv, "i", int, 0644, @@ -136,7 +152,7 @@ CFS_MODULE_PARM(backoff_max, "i", int, 0644, #endif #if SOCKNAL_VERSION_DEBUG -static int protocol = 2; +static int protocol = 3; CFS_MODULE_PARM(protocol, "i", int, 0644, "protocol version"); #endif @@ -157,18 +173,21 @@ int ksocknal_tunables_init(void) ksocknal_tunables.ksnd_tx_buffer_size = &tx_buffer_size; ksocknal_tunables.ksnd_rx_buffer_size = &rx_buffer_size; ksocknal_tunables.ksnd_nagle = &nagle; + ksocknal_tunables.ksnd_round_robin = &round_robin; + ksocknal_tunables.ksnd_keepalive = &keepalive; ksocknal_tunables.ksnd_keepalive_idle = &keepalive_idle; ksocknal_tunables.ksnd_keepalive_count = &keepalive_count; ksocknal_tunables.ksnd_keepalive_intvl = &keepalive_intvl; ksocknal_tunables.ksnd_credits = &credits; - ksocknal_tunables.ksnd_peercredits = &peer_credits; + ksocknal_tunables.ksnd_peertxcredits = &peer_credits; + ksocknal_tunables.ksnd_peerrtrcredits = &peer_buffer_credits; + ksocknal_tunables.ksnd_peertimeout = &peer_timeout; ksocknal_tunables.ksnd_enable_csum = &enable_csum; ksocknal_tunables.ksnd_inject_csum_error = &inject_csum_error; - ksocknal_tunables.ksnd_zc_min_frag = &zc_min_frag; + ksocknal_tunables.ksnd_zc_min_payload = &zc_min_payload; ksocknal_tunables.ksnd_zc_recv = &zc_recv; ksocknal_tunables.ksnd_zc_recv_min_nfrags = &zc_recv_min_nfrags; - #ifdef CPU_AFFINITY ksocknal_tunables.ksnd_irq_affinity = &enable_irq_affinity; #endif @@ -186,6 +205,9 @@ int ksocknal_tunables_init(void) ksocknal_tunables.ksnd_sysctl = NULL; #endif + if (*ksocknal_tunables.ksnd_zc_min_payload < (2 << 10)) + *ksocknal_tunables.ksnd_zc_min_payload = (2 << 10); + /* initialize platform-sepcific tunables */ return ksocknal_lib_tunables_init(); };