Whamcloud - gitweb
LU-1617 build: skip generated files in .gitignore
[fs/lustre-release.git] / lnet / klnds / ptllnd / ptllnd_modparams.c
index 6d2503f..09ca397 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
  * GPL HEADER START
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -26,7 +24,7 @@
  * GPL HEADER END
  */
 /*
- * Copyright  2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  */
 /*
@@ -57,7 +55,8 @@ static int checksum = 0;
 CFS_MODULE_PARM(checksum, "i", int, 0644,
                 "set non-zero to enable message (not RDMA) checksums");
 
-static int timeout = 50;
+/* NB 250 is the Cray Portals wire timeout */
+static int timeout = 250;
 CFS_MODULE_PARM(timeout, "i", int, 0644,
                 "timeout (seconds)");
 
@@ -85,6 +84,10 @@ static int peercredits = PTLLND_PEERCREDITS;    /* <lnet/ptllnd_wire.h> */
 CFS_MODULE_PARM(peercredits, "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 max_msg_size = PTLLND_MAX_KLND_MSG_SIZE;  /* <lnet/ptllnd_wire.h> */
 CFS_MODULE_PARM(max_msg_size, "i", int, 0444,
                 "max size of immediate message");
@@ -101,15 +104,6 @@ static int ack_puts = 0;
 CFS_MODULE_PARM(ack_puts, "i", int, 0644,
                 "get portals to ack all PUTs");
 
-#ifdef CRAY_XT3
-static int ptltrace_on_timeout = 0;
-CFS_MODULE_PARM(ptltrace_on_timeout, "i", int, 0644,
-                "dump ptltrace on timeout");
-
-static char *ptltrace_basename = "/tmp/lnet-ptltrace";
-CFS_MODULE_PARM(ptltrace_basename, "s", charp, 0644,
-                "ptltrace dump file basename");
-#endif
 #ifdef PJK_DEBUGGING
 static int simulation_bitmap = 0;
 CFS_MODULE_PARM(simulation_bitmap, "i", int, 0444,
@@ -128,15 +122,12 @@ kptl_tunables_t kptllnd_tunables = {
         .kptl_rxb_npages             = &rxb_npages,
         .kptl_rxb_nspare             = &rxb_nspare,
         .kptl_credits                = &credits,
-        .kptl_peercredits            = &peercredits,
+        .kptl_peertxcredits          = &peercredits,
+        .kptl_peerrtrcredits         = &peer_buffer_credits,
         .kptl_max_msg_size           = &max_msg_size,
         .kptl_peer_hash_table_size   = &peer_hash_table_size,
         .kptl_reschedule_loops       = &reschedule_loops,
         .kptl_ack_puts               = &ack_puts,
-#ifdef CRAY_XT3
-        .kptl_ptltrace_on_timeout    = &ptltrace_on_timeout,
-        .kptl_ptltrace_basename      = &ptltrace_basename,
-#endif
 #ifdef PJK_DEBUGGING
         .kptl_simulation_bitmap      = &simulation_bitmap,
 #endif
@@ -144,21 +135,56 @@ kptl_tunables_t kptllnd_tunables = {
 
 
 #if defined(CONFIG_SYSCTL) && !CFS_SYSFS_MODULE_PARM
-#ifdef CRAY_XT3
-static char ptltrace_basename_space[1024];
 
-static void
-kptllnd_init_strtunable(char **str_param, char *space, int size)
-{
-        strncpy(space, *str_param, size);
-        space[size - 1] = 0;
-        *str_param = space;
-}
+#ifndef HAVE_SYSCTL_UNNUMBERED
+
+enum {
+        KPTLLND_NTX     = 1,
+        KPTLLND_MAX_NODES,
+        KPTLLND_MAX_PROC_PER_NODE,
+        KPTLLND_CHECKSUM,
+        KPTLLND_TIMEOUT,
+        KPTLLND_PORTAL,
+        KPTLLND_PID,
+        KPTLLND_RXB_PAGES,
+        KPTLLND_CREDITS,
+        KPTLLND_PEERTXCREDITS,
+        KPTLLND_PEERRTRCREDITS,
+        KPTLLND_MAX_MSG_SIZE,
+        KPTLLND_PEER_HASH_SIZE,
+        KPTLLND_RESHEDULE_LOOPS,
+        KPTLLND_ACK_PUTS,
+        KPTLLND_TRACETIMEOUT,
+        KPTLLND_TRACEFAIL,
+        KPTLLND_TRACEBASENAME,
+        KPTLLND_SIMULATION_BITMAP
+};
+#else
+
+#define KPTLLND_NTX             CTL_UNNUMBERED
+#define KPTLLND_MAX_NODES       CTL_UNNUMBERED
+#define KPTLLND_MAX_PROC_PER_NODE CTL_UNNUMBERED
+#define KPTLLND_CHECKSUM        CTL_UNNUMBERED
+#define KPTLLND_TIMEOUT         CTL_UNNUMBERED
+#define KPTLLND_PORTAL          CTL_UNNUMBERED
+#define KPTLLND_PID             CTL_UNNUMBERED
+#define KPTLLND_RXB_PAGES       CTL_UNNUMBERED
+#define KPTLLND_CREDITS         CTL_UNNUMBERED
+#define KPTLLND_PEERTXCREDITS   CTL_UNNUMBERED
+#define KPTLLND_PEERRTRCREDITS  CTL_UNNUMBERED
+#define KPTLLND_MAX_MSG_SIZE    CTL_UNNUMBERED
+#define KPTLLND_PEER_HASH_SIZE  CTL_UNNUMBERED
+#define KPTLLND_RESHEDULE_LOOPS CTL_UNNUMBERED
+#define KPTLLND_ACK_PUTS        CTL_UNNUMBERED
+#define KPTLLND_TRACETIMEOUT    CTL_UNNUMBERED
+#define KPTLLND_TRACEFAIL       CTL_UNNUMBERED
+#define KPTLLND_TRACEBASENAME   CTL_UNNUMBERED
+#define KPTLLND_SIMULATION_BITMAP CTL_UNNUMBERED
 #endif
 
 static cfs_sysctl_table_t kptllnd_ctl_table[] = {
         {
-                .ctl_name = 1,
+                .ctl_name = KPTLLND_NTX,
                 .procname = "ntx",
                 .data     = &ntx,
                 .maxlen   = sizeof(int),
@@ -166,7 +192,7 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 2,
+                .ctl_name = KPTLLND_MAX_NODES,
                 .procname = "max_nodes",
                 .data     = &max_nodes,
                 .maxlen   = sizeof(int),
@@ -174,7 +200,7 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 3,
+                .ctl_name = KPTLLND_MAX_PROC_PER_NODE,
                 .procname = "max_procs_per_node",
                 .data     = &max_procs_per_node,
                 .maxlen   = sizeof(int),
@@ -182,7 +208,7 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 4,
+                .ctl_name = KPTLLND_CHECKSUM,
                 .procname = "checksum",
                 .data     = &checksum,
                 .maxlen   = sizeof(int),
@@ -190,7 +216,7 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 5,
+                .ctl_name = KPTLLND_TIMEOUT,
                 .procname = "timeout",
                 .data     = &timeout,
                 .maxlen   = sizeof(int),
@@ -198,7 +224,7 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 6,
+                .ctl_name = KPTLLND_PORTAL,
                 .procname = "portal",
                 .data     = &portal,
                 .maxlen   = sizeof(int),
@@ -206,7 +232,7 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 7,
+                .ctl_name = KPTLLND_PID,
                 .procname = "pid",
                 .data     = &pid,
                 .maxlen   = sizeof(int),
@@ -214,7 +240,7 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 8,
+                .ctl_name = KPTLLND_RXB_PAGES,
                 .procname = "rxb_npages",
                 .data     = &rxb_npages,
                 .maxlen   = sizeof(int),
@@ -222,7 +248,7 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 9,
+                .ctl_name = KPTLLND_CREDITS,
                 .procname = "credits",
                 .data     = &credits,
                 .maxlen   = sizeof(int),
@@ -230,7 +256,7 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 10,
+                .ctl_name = KPTLLND_PEERTXCREDITS,
                 .procname = "peercredits",
                 .data     = &peercredits,
                 .maxlen   = sizeof(int),
@@ -238,7 +264,15 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 11,
+                .ctl_name = KPTLLND_PEERRTRCREDITS,
+                .procname = "peer_buffer_credits",
+                .data     = &peer_buffer_credits,
+                .maxlen   = sizeof(int),
+                .mode     = 0444,
+                .proc_handler = &proc_dointvec
+        },
+        {
+                .ctl_name = KPTLLND_MAX_MSG_SIZE,
                 .procname = "max_msg_size",
                 .data     = &max_msg_size,
                 .maxlen   = sizeof(int),
@@ -246,7 +280,7 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 12,
+                .ctl_name = KPTLLND_PEER_HASH_SIZE,
                 .procname = "peer_hash_table_size",
                 .data     = &peer_hash_table_size,
                 .maxlen   = sizeof(int),
@@ -254,7 +288,7 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 13,
+                .ctl_name = KPTLLND_RESHEDULE_LOOPS,
                 .procname = "reschedule_loops",
                 .data     = &reschedule_loops,
                 .maxlen   = sizeof(int),
@@ -262,35 +296,16 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
                 .proc_handler = &proc_dointvec
         },
         {
-                .ctl_name = 14,
+                .ctl_name = KPTLLND_ACK_PUTS,
                 .procname = "ack_puts",
                 .data     = &ack_puts,
                 .maxlen   = sizeof(int),
                 .mode     = 0644,
                 .proc_handler = &proc_dointvec
         },
-#ifdef CRAY_XT3
-        {
-                .ctl_name = 15,
-                .procname = "ptltrace_on_timeout",
-                .data     = &ptltrace_on_timeout,
-                .maxlen   = sizeof(int),
-                .mode     = 0644,
-                .proc_handler = &proc_dointvec
-        },
-        {
-                .ctl_name = 16,
-                .procname = "ptltrace_basename",
-                .data     = ptltrace_basename_space,
-                .maxlen   = sizeof(ptltrace_basename_space),
-                .mode     = 0644,
-                .proc_handler = &proc_dostring,
-                .strategy = &sysctl_string
-        },
-#endif
 #ifdef PJK_DEBUGGING
         {
-                .ctl_name = 17,
+                .ctl_name = KPTLLND_SIMULATION_BITMAP,
                 .procname = "simulation_bitmap",
                 .data     = &simulation_bitmap,
                 .maxlen   = sizeof(int),
@@ -304,7 +319,7 @@ static cfs_sysctl_table_t kptllnd_ctl_table[] = {
 
 static cfs_sysctl_table_t kptllnd_top_ctl_table[] = {
         {
-                .ctl_name = 203,
+                .ctl_name = CTL_PTLLND,
                 .procname = "ptllnd",
                 .data     = NULL,
                 .maxlen   = 0,
@@ -317,11 +332,6 @@ static cfs_sysctl_table_t kptllnd_top_ctl_table[] = {
 int
 kptllnd_tunables_init ()
 {
-#ifdef CRAY_XT3
-        kptllnd_init_strtunable(&ptltrace_basename,
-                                ptltrace_basename_space,
-                                sizeof(ptltrace_basename_space));
-#endif
         kptllnd_tunables.kptl_sysctl =
                 cfs_register_sysctl_table(kptllnd_top_ctl_table, 0);