components/open-fabrics/rds-tools/patches/base.patch
author Boris Chiu <boris.chiu@oracle.com>
Wed, 16 Oct 2013 15:44:35 -0700
changeset 1513 594764ea1267
parent 1455 74681f26bd4e
permissions -rw-r--r--
17489343 Update solaris rds-tools to 2.0.7-1.12 17615235 rds-tools fails to compile on 32
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
     1
diff -r -u /tmp/rds-tools-2.0.4/rds-stress.c rds-tools-2.0.7/rds-stress.c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
     2
--- /tmp/rds-tools-2.0.4/rds-stress.c	Wed Aug  4 15:25:10 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
     3
+++ rds-tools-2.0.7/rds-stress.c	Thu Feb 24 13:27:52 2011
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
     4
@@ -15,7 +15,13 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
     5
 #include <sys/time.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
     6
 #include <time.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
     7
 #include <inttypes.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
     8
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
     9
+#include <sys/syscall.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    10
+#include <signal.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    11
+#include <sys/lgrp_user.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    12
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    13
 #include <syscall.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    14
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    15
 #include <sys/stat.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    16
 #include <sys/poll.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    17
 #include <ctype.h>
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    18
@@ -22,12 +28,27 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    19
 #include <fcntl.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    20
 #include <sched.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    21
 #include <getopt.h>
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    22
+#include <sys/ioctl.h>
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    23
+#if !(defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    24
 #include <byteswap.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    25
 #include "rds.h"
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
    26
-
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    27
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    28
+#include <sys/rds.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    29
+#endif
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
    30
 #include "pfhack.h"
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
    31
+#if defined(__SVR4) && defined(__sun)
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
    32
+#include <infiniband/ofa_solaris.h>
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
    33
+#endif
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    34
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    35
+#if defined(__SVR4) && defined(__sun)
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
    36
 /*
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    37
+ * This definition is forward looking and is not yet present
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    38
+ * in Solaris rds.h file
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    39
+ */
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    40
+#define RDS_CMSG_RDMA_SEND_STATUS RDS_CMSG_RDMA_STATUS
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    41
+#endif
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    42
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    43
+/*
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
    44
  *
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    45
  * TODO
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    46
  *  - checksum the data some day.
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    47
@@ -45,8 +66,9 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    48
         M_RDMA_READ_ONLY,
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    49
         M_RDMA_WRITE_ONLY
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    50
 };
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    51
+#define VERSION_MAX_LEN 16 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    52
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    53
-struct options {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    54
+struct options_2_0_6 {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    55
 	uint32_t	req_depth;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    56
 	uint32_t	req_size;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    57
 	uint32_t	ack_size;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    58
@@ -76,9 +98,68 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    59
 	uint32_t	connect_retries;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    60
 } __attribute__((packed));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    61
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    62
+struct options {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    63
+	char		version[VERSION_MAX_LEN];
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    64
+        uint32_t        req_depth;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    65
+        uint32_t        req_size;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    66
+        uint32_t        ack_size;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    67
+        uint32_t        rdma_size;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    68
+        uint32_t        send_addr;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    69
+        uint32_t        receive_addr;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    70
+        uint16_t        starting_port;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    71
+        uint16_t        nr_tasks;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    72
+        uint32_t        run_time;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    73
+        uint8_t         summary_only;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    74
+        uint8_t         rtprio;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    75
+        uint8_t         tracing;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    76
+        uint8_t         verify;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    77
+        uint8_t         show_params;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    78
+        uint8_t         show_perfdata;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    79
+        uint8_t         use_cong_monitor;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    80
+        uint8_t         rdma_use_once;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    81
+        uint8_t         rdma_use_get_mr;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    82
+        uint8_t         rdma_use_fence;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    83
+        uint8_t         rdma_cache_mrs;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    84
+        uint8_t         rdma_key_o_meter;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    85
+        uint8_t         suppress_warnings;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    86
+        uint8_t         simplex;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    87
+        uint8_t         rw_mode;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    88
+        uint32_t        rdma_vector;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    89
+        uint32_t        rdma_alignment;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    90
+        uint32_t        connect_retries;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    91
+        uint8_t         tos;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    92
+        uint8_t         async;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    93
+} __attribute__((packed));
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
    94
+
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    95
+#define MAX_BUCKETS 16
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    96
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    97
 static struct options	opt;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    98
 static int		control_fd;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
    99
+static uint64_t         rtt_threshold;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   100
+static int              show_histogram;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   101
+static int		reset_connection;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   102
+static char		peer_version[VERSION_MAX_LEN];
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   103
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   104
+static int get_bucket(uint64_t rtt_time)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   105
+{
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   106
+  int i;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   107
+  uint64_t l_rtt_time = rtt_time;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   108
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   109
+  if (!l_rtt_time)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   110
+    i = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   111
+  else
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   112
+  {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   113
+    i = -1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   114
+    while (l_rtt_time)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   115
+    {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   116
+      i++;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   117
+      l_rtt_time = (l_rtt_time >> 1);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   118
+    }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   119
+  }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   120
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   121
+  return i;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   122
+}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   123
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   124
 struct counter {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   125
 	uint64_t	nr;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   126
 	uint64_t	sum;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   127
@@ -102,6 +183,10 @@
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
   128
 
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
   129
 #define NR_STATS S__LAST
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   130
 
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
   131
+#if defined(__SVR4) && defined(__sun)
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
   132
+int sol_ioctl(int, int, struct rds_info_arg *, socklen_t *, int *);
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
   133
+#endif
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
   134
+
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
   135
 /*
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
   136
  * Parents share a mapped array of these with their children.  Each child
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
   137
  * gets one.  It's used to communicate between the child and the parent
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   138
@@ -110,9 +195,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   139
 struct child_control {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   140
 	pid_t pid;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   141
 	int ready;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   142
+	int stopping;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   143
 	struct timeval start;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   144
 	struct counter cur[NR_STATS];
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   145
 	struct counter last[NR_STATS];
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   146
+        uint64_t       latency_histogram[MAX_BUCKETS];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   147
 } __attribute__((aligned (256))); /* arbitrary */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   148
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   149
 struct soak_control {
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   150
@@ -132,6 +219,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   151
  */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   152
 #define OP_REQ		1
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   153
 #define OP_ACK		2
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   154
+#define OP_DUMP		3
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   155
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   156
 #define RDMA_OP_READ	1
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   157
 #define RDMA_OP_WRITE	2
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   158
@@ -148,7 +236,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   159
 	uint16_t	from_port;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   160
 	uint16_t	to_port;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   161
 	uint16_t	index;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   162
-	uint8_t		op;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   163
+	uint8_t         op;
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   164
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   165
 	/* RDMA related.
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   166
 	 * rdma_op must be the first field, because we
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   167
@@ -162,12 +250,21 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   168
 	uint32_t	rdma_size;
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   169
 	uint32_t        rdma_vector;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   170
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   171
-	uint8_t		data[0];
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   172
+	/* Async send related. */
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   173
+	uint8_t         retry;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   174
+	uint8_t         rdma_remote_err;
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   175
+	uint8_t         pending;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   176
+
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   177
+	uint8_t         data[0];
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   178
 } __attribute__((packed));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   179
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   180
 #define MIN_MSG_BYTES		(sizeof(struct header))
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   181
 #define BASIC_HEADER_SIZE	(size_t)(&((struct header *) 0)->rdma_op)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   182
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   183
+#define print_outlier(...) do {         \
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   184
+        fprintf(stderr, __VA_ARGS__);   \
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   185
+} while (0)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   186
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   187
 #define die(fmt...) do {		\
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   188
 	fprintf(stderr, fmt);		\
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   189
 	exit(1);			\
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   190
@@ -254,7 +351,20 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   191
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   192
 	die("invalid host name or dotted quad '%s'\n", ptr);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   193
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   194
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   195
+static lgrp_id_t lgrp_id = -1;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   196
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   197
+static void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   198
+set_my_lgrp(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   199
+{
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   200
+	if (lgrp_id != -1) {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   201
+		lgrp_affinity_set(P_LWPID, P_MYID, lgrp_id,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   202
+			LGRP_AFF_STRONG);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   203
+		yield(); /* force a context switch */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   204
+	}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   205
+}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   206
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   207
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   208
 static void usage(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   209
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   210
         fprintf(stderr, "rds-stress version %s\n", RDS_VERSION);
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   211
@@ -273,6 +383,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   212
 	" -d [depth, 1]     request pipeline depth, nr outstanding\n"
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   213
 	" -t [nr, 1]        number of child tasks\n"
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   214
 	" -T [seconds, 0]   runtime of test, 0 means infinite\n"
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   215
+	" -Q [tos, 0]       Type of Service\n"
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   216
 	" -D [bytes]        RDMA: size\n"
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   217
 	" -I [iovecs, 1]    RDMA: number of user buffers to target (max 512)\n"
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   218
         " -M [nr, 0]        RDMA: mode (0=readwrite,1=readonly,2=writeonly)\n"
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   219
@@ -281,6 +392,9 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   220
 	" -c                measure cpu use with per-cpu soak processes\n"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   221
 	" -V                trace execution\n"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   222
 	" -z                print a summary at end of test only\n"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   223
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   224
+	" -g [lgrpid]       bind the process to the specified lgrp\n"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   225
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   226
 	"\n"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   227
 	"Example:\n"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   228
 	"  recv$ rds-stress\n"
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   229
@@ -310,7 +424,7 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   230
 static void check_parent(pid_t pid)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   231
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   232
 	if (pid != getppid())
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   233
-		die("parent %u exited\n", pid);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   234
+		die("parent %u exited\n", (int)pid);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   235
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   236
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   237
 /*
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   238
@@ -334,6 +448,7 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   239
 		msg_pattern[i] = k;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   240
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   241
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   242
+#if !(defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   243
 #if __BYTE_ORDER == __LITTLE_ENDIAN
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   244
 #define htonll(x)	bswap_64(x)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   245
 #define ntohll(x)	bswap_64(x)
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   246
@@ -341,6 +456,7 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   247
 #define htonll(x)	(x)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   248
 #define ntohll(x)	(x)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   249
 #endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   250
+#endif /* Not sun */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   251
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   252
 static void encode_hdr(struct header *dst, const struct header *hdr)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   253
 {
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   254
@@ -361,6 +477,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   255
 	dst->rdma_key = htonll(hdr->rdma_key);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   256
 	dst->rdma_size = htonl(hdr->rdma_size);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   257
 	dst->rdma_vector = htonl(hdr->rdma_vector);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   258
+	dst->retry = hdr->retry;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   259
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   260
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   261
 static void decode_hdr(struct header *dst, const struct header *hdr)
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   262
@@ -382,6 +499,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   263
 	dst->rdma_key = ntohll(hdr->rdma_key);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   264
 	dst->rdma_size = ntohl(hdr->rdma_size);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   265
 	dst->rdma_vector = ntohl(hdr->rdma_vector);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   266
+	dst->retry = hdr->retry;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   267
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   268
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   269
 static void fill_hdr(void *message, uint32_t bytes, struct header *hdr)
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   270
@@ -412,11 +530,19 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   271
  * Compare incoming message header with expected header. All header fields
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   272
  * are in host byte order except for address and port fields.
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   273
  */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   274
-static int check_hdr(void *message, uint32_t bytes, const struct header *hdr)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   275
+static int check_hdr(void *message, uint32_t bytes, struct header *hdr, struct options *opts)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   276
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   277
 	struct header msghdr;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   278
+	uint32_t	inc_seq;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   279
+	uint32_t	my_seq;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   280
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   281
 	decode_hdr(&msghdr, message);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   282
+	inc_seq = msghdr.seq;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   283
+	my_seq = hdr->seq;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   284
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   285
+	if (msghdr.retry && (inc_seq < my_seq))
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   286
+		return -1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   287
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   288
 	if (memcmp(&msghdr, hdr, BASIC_HEADER_SIZE)) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   289
 #define bleh(var, disp)					\
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   290
 		disp(hdr->var),				\
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   291
@@ -428,7 +554,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   292
 		 * with stdout() and we don't get things stomping on each
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   293
 		 * other
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   294
 		 */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   295
-		printf( "An incoming message had a header which\n"
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   296
+		printf( "An incoming message had a %s header which\n"
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   297
 			"didn't contain the fields we expected:\n"
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   298
 			"    member        expected eq             got\n"
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   299
 			"       seq %15u %s %15u\n"
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   300
@@ -438,6 +564,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   301
 			"   to_port %15u %s %15u\n"
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   302
 			"     index %15u %s %15u\n"
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   303
 			"        op %15u %s %15u\n",
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   304
+			(msghdr.retry) ? "RETRY" : "",
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   305
 			bleh(seq, /**/),
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   306
 			bleh(from_addr, inet_ntoa_32),
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   307
 			bleh(from_port, ntohs),
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   308
@@ -569,6 +696,9 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   309
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   310
 	fcntl(fd, F_SETFL, O_NONBLOCK);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   311
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   312
+	if (opts->tos && ioctl(fd, SIOCRDSSETTOS, &opts->tos)) 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   313
+		die_errno("ERROR: failed to set TOS\n");
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   314
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   315
 	return fd;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   316
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   317
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   318
@@ -584,7 +714,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   319
 	if (opts->receive_addr == 0)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   320
 		return 1;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   321
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   322
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   323
+	sin.sin_family = AF_INET_OFFLOAD;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   324
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   325
 	sin.sin_family = AF_INET;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   326
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   327
 	sin.sin_port = htons(opts->starting_port);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   328
 	sin.sin_addr.s_addr = htonl(opts->receive_addr);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   329
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   330
@@ -639,7 +773,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   331
 	mr_args.flags = RDS_FREE_MR_ARGS_INVALIDATE;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   332
 #endif
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   333
 	if (setsockopt(fd, sol, RDS_FREE_MR, &mr_args, sizeof(mr_args)))
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   334
-		die_errno("setsockopt(RDS_FREE_MR) failed");
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   335
+		return;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   336
 	mrs_allocated--;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   337
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   338
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   339
@@ -677,7 +811,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   340
 	size = sizeof(struct rdma_key_o_meter)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   341
 			+ 2 * nr_tasks * sizeof(*kt)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   342
 			+ 2 * RDMA_MAX_TRACKED_KEYS * sizeof(*ks);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   343
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   344
+	base = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_SHARED, -1, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   345
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   346
 	base = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_SHARED, 0, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   347
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   348
 	if (base == MAP_FAILED)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   349
 		die_errno("alloc_rdma_buffers: mmap failed");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   350
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   351
@@ -828,13 +966,20 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   352
 	}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   353
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   354
 	if (!failed)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   355
-		trace("compare pass pattern %Lx addr %p\n",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   356
+		trace("compare pass pattern 0x%Lx addr %p\n",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   357
 			(unsigned long long) pattern, addr);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   358
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   359
 
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   360
+struct retry_entry {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   361
+	uint32_t	retries;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   362
+	uint32_t	seq;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   363
+	int		status;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   364
+};
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   365
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   366
 struct task {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   367
 	unsigned int		nr;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   368
 	unsigned int		pending;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   369
+	int			trace;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   370
 	unsigned int		unacked;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   371
 	struct sockaddr_in	src_addr;	/* same for all tasks */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   372
 	struct sockaddr_in	dst_addr;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   373
@@ -846,7 +991,14 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   374
 	uint16_t		recv_index;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   375
 	struct timeval *	send_time;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   376
 	struct header *		ack_header;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   377
+	struct header *         ack2_header;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   378
+	struct header *         req_header;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   379
+	uint64_t *		retry_token;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   380
+	uint32_t		retries;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   381
+	uint32_t            	last_retry_seq;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   382
+	uint32_t		retry_index;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   383
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   384
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   385
 	/* RDMA related stuff */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   386
 	uint64_t **		local_buf;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   387
 	uint64_t **		rdma_buf;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   388
@@ -865,7 +1017,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   389
 	/* We use mmap here rather than malloc, because it is always
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   390
 	 * page aligned. */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   391
 	len = 2 * opts->nr_tasks * opts->req_depth * (opts->rdma_vector * opts->rdma_size) + sys_page_size;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   392
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   393
+	base = mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   394
+#else	
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   395
 	base = mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, 0, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   396
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   397
 	if (base == MAP_FAILED)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   398
 		die_errno("alloc_rdma_buffers: mmap failed");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   399
 	memset(base, 0x2f, len);
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   400
@@ -915,17 +1071,16 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   401
 	if (RDMA_OP_READ == hdr->rdma_op) {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   402
 		if (opt.verify)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   403
 			rds_fill_buffer(rdma_addr, rdma_size, hdr->rdma_pattern);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   404
-		trace("Requesting RDMA read for pattern %Lx "
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   405
-				"local addr to rdma read %p\n",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   406
-				(unsigned long long) hdr->rdma_pattern,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   407
+		trace("Requesting RDMA read for pattern 0x%Lx"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   408
+				"local addr to rdma read 0x%p\n",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   409
+				hdr->rdma_pattern,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   410
 				rdma_addr);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   411
 	} else {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   412
 		if (opt.verify)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   413
 			rds_fill_buffer(rdma_addr, rdma_size, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   414
-		trace("Requesting RDMA write for pattern %Lx "
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   415
-				"local addr to rdma write %p\n",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   416
-				(unsigned long long) hdr->rdma_pattern,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   417
-				rdma_addr);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   418
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   419
+		trace("Requesting RDMA write for pattern 0x%Lx",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   420
+				hdr->rdma_pattern);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   421
 	}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   422
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   423
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   424
@@ -947,7 +1102,7 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   425
 		die("Unexpected RDMA op %u in request\n", in_hdr->rdma_op);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   426
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   427
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   428
-	trace("RDS received request to issue rdma %s len %lu rva %Lx key %Lx pattern %Lx\n",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   429
+	trace("RDS received request to issue rdma %s len %lu rva 0x%Lx key 0x%Lx pattern 0x%Lx\n",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   430
 		in_hdr->rdma_op == RDMA_OP_WRITE? "write to" : "read from",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   431
 		rdma_size,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   432
 		(unsigned long long) in_hdr->rdma_addr,
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   433
@@ -966,21 +1121,33 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   434
 	hdr->rdma_vector = in_hdr->rdma_vector;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   435
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   436
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   437
-static inline unsigned int rdma_user_token(struct task *t, unsigned int qindex)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   438
+static inline uint64_t rdma_user_token(struct task *t, unsigned int qindex,  unsigned int type, uint32_t seq)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   439
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   440
-	return t->nr * opt.req_depth + qindex;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   441
+	uint64_t tmp = seq;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   442
+	return (tmp << 32) | ((t->nr * opt.req_depth + qindex) << 2 | type);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   443
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   444
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   445
-static void rdma_mark_completed(struct task *tasks, unsigned int token, int status)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   446
+static void rdma_mark_completed(struct task *tasks, uint64_t token, int status, struct options *opts)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   447
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   448
 	struct task *t;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   449
 	unsigned int i;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   450
+	struct header *hdr = NULL;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   451
+	uint32_t seq = token >> 32;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   452
+	unsigned int type = token & 0x03;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   453
+	unsigned int index = (token & 0xFFFFFFFF) >> 2;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   454
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   455
-	trace("RDS rdma completion for token %x\n", token);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   456
+	trace("RDS rdma completion for token 0x%lx\n", token);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   457
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   458
-	t = &tasks[token / opt.req_depth];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   459
-	i = token % opt.req_depth;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   460
+	t = &tasks[index / opt.req_depth];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   461
+	i = index % opt.req_depth;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   462
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   463
+	if (opts->async) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   464
+		if (type == OP_REQ)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   465
+			hdr = &t->req_header[i];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   466
+		else
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   467
+			hdr = &t->ack2_header[i];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   468
+	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   469
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   470
 	if (status) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   471
 		const char *errmsg;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   472
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   473
@@ -987,20 +1154,50 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   474
 		switch (status) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   475
 		case RDS_RDMA_REMOTE_ERROR:
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   476
 			errmsg = "remote error"; break;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   477
-		case RDS_RDMA_CANCELED:
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   478
-			errmsg = "operation was cancelled"; break;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   479
-		case RDS_RDMA_DROPPED:
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   480
+		case RDS_RDMA_SEND_DROPPED:
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   481
 			errmsg = "operation was dropped"; break;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   482
-		case RDS_RDMA_OTHER_ERROR:
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   483
+		case RDS_RDMA_SEND_CANCELED:
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   484
+			errmsg = "operation was cancelled"; break;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   485
+		case RDS_RDMA_SEND_OTHER_ERROR:
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   486
 			errmsg = "other error"; break;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   487
 		default:
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   488
 			errmsg = "unknown error"; break;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   489
 		}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   490
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   491
-		printf("%s:%u: RDMA op %u failed: %s\n",
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   492
+		trace("%s:%u: %s failed: %s\n",
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   493
 				inet_ntoa(t->dst_addr.sin_addr),
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   494
 				ntohs(t->dst_addr.sin_port),
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   495
-				i, errmsg);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   496
+				type ? "SEND" : "RDMA",
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   497
+				errmsg);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   498
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   499
+		if (hdr &&
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   500
+			(status == RDS_RDMA_SEND_DROPPED ||
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   501
+			 status == RDS_RDMA_REMOTE_ERROR)) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   502
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   503
+			if (hdr->seq == seq) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   504
+				hdr->retry = 1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   505
+				if (hdr->seq > t->last_retry_seq) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   506
+					if (status == RDS_RDMA_REMOTE_ERROR)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   507
+						hdr->rdma_remote_err = 1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   508
+					t->retry_token[t->retry_index] = token;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   509
+					t->retry_index = (t->retry_index + 1) %
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   510
+						(2 * opts->req_depth);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   511
+					t->retries += 1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   512
+					t->last_retry_seq = hdr->seq;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   513
+					if (t->retries > 2 * opts->req_depth)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   514
+						die("Exceeded MAX retry entries..\n");
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   515
+				}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   516
+			} else
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   517
+				die("SEQ Out-Of-Sync: %u/%u\n", hdr->seq, seq);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   518
+		} else if (hdr) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   519
+			hdr->pending = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   520
+			hdr->retry = 0;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   521
+			hdr->rdma_remote_err = 0;
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   522
+		}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   523
+	} else if (hdr) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   524
+		hdr->pending = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   525
+		hdr->retry = 0;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   526
+		hdr->rdma_remote_err = 0;
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   527
 	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   528
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   529
 	t->rdma_inflight[i] = 0;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   530
@@ -1007,6 +1204,9 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   531
 	t->drain_rdmas = 0;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   532
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   533
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   534
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   535
+#undef MSG_MAXIOVLEN
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   536
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   537
 #define MSG_MAXIOVLEN 2
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   538
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   539
 /*
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   540
@@ -1018,11 +1218,14 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   541
 	static char ctlbuf[1024];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   542
 	struct cmsghdr *cmsg;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   543
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   544
-	msg->msg_control = ctlbuf;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   545
-	msg->msg_controllen = CMSG_SPACE(size);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   546
-
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   547
-	cmsg = CMSG_FIRSTHDR(msg);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   548
-	cmsg->cmsg_level = sol;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   549
+	if (!msg->msg_control) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   550
+		msg->msg_control = ctlbuf;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   551
+		msg->msg_controllen = CMSG_SPACE(size);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   552
+		cmsg = CMSG_FIRSTHDR(msg);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   553
+	} else {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   554
+		cmsg = (struct cmsghdr *)((char *)msg->msg_control + msg->msg_controllen);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   555
+		msg->msg_controllen += CMSG_SPACE(size);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   556
+	}cmsg->cmsg_level = sol;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   557
 	cmsg->cmsg_type = type;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   558
 	cmsg->cmsg_len = CMSG_LEN(size);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   559
 	memcpy(CMSG_DATA(cmsg), ptr, size);
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   560
@@ -1034,7 +1237,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   561
  * the ACK packet.
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   562
  */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   563
 static void rdma_build_cmsg_xfer(struct msghdr *msg, const struct header *hdr,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   564
-		unsigned int user_token, void *local_buf)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   565
+		uint64_t user_token, void *local_buf)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   566
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   567
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   568
 #define RDS_MAX_IOV 512 /* FIX_ME - put this into rds.h or use socket max ?*/
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   569
@@ -1048,7 +1251,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   570
 	rdma_size = hdr->rdma_size;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   571
 	rdma_vector = hdr->rdma_vector;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   572
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   573
-	trace("RDS issuing rdma for token %x key %Lx len %u local_buf %p vector %u\n",
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   574
+	trace("RDS issuing rdma for token 0x%lx key 0x%llx len %d local_buf %p vector %d\n",
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   575
 			user_token,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   576
 			(unsigned long long) hdr->rdma_key,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   577
 			rdma_size, local_buf,
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   578
@@ -1102,6 +1305,15 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   579
 	rdma_put_cmsg(msg, RDS_CMSG_RDMA_ARGS, &args, sizeof(args));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   580
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   581
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   582
+static void build_cmsg_async_send(struct msghdr *msg, uint64_t user_token)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   583
+{
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   584
+	struct rds_asend_args  args;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   585
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   586
+	args.flags |= RDS_SEND_NOTIFY_ME;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   587
+	args.user_token = user_token;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   588
+	rdma_put_cmsg(msg, RDS_CMSG_ASYNC_SEND, &args, sizeof(args));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   589
+}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   590
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   591
 static void rdma_build_cmsg_dest(struct msghdr *msg, rds_rdma_cookie_t rdma_dest)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   592
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   593
 	rdma_put_cmsg(msg, RDS_CMSG_RDMA_DEST, &rdma_dest, sizeof(rdma_dest));
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   594
@@ -1174,19 +1386,17 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   595
 	hdr->index = qindex;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   596
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   597
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   598
-static int send_packet(int fd, struct task *t,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   599
-		struct header *hdr, unsigned int size)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   600
+static int send_msg(int fd, struct task *t, struct header *hdr,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   601
+		    unsigned int size, struct options *opts, 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   602
+		    struct child_control *ctl)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   603
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   604
-	unsigned char buf[size], *rdma_flight_recorder = NULL;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   605
+	unsigned char buf[size];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   606
+	uint8_t *rdma_flight_recorder = NULL;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   607
 	rds_rdma_cookie_t cookie = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   608
 	struct msghdr msg;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   609
 	struct iovec iov;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   610
 	ssize_t ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   611
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   612
-	/* Make sure we always have the current sequence number.
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   613
-	 * When we send ACK packets, the seq that gets filled in is
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   614
-	 * stale. */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   615
-	hdr->seq = t->send_seq;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   616
 	fill_hdr(buf, size, hdr);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   617
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   618
 	memset(&msg, 0, sizeof(msg));
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   619
@@ -1198,27 +1408,10 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   620
 	iov.iov_base = buf;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   621
 	iov.iov_len = size;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   622
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   623
-	/* If this is a REQ packet in which we pass the MR to the
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   624
-	 * peer, extract the RDMA cookie and pass it on in the control
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   625
-	 * message for now. */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   626
-	if (hdr->op == OP_REQ && hdr->rdma_op != 0) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   627
-		if (hdr->rdma_key != 0) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   628
-			/* We used GET_MR to obtain a key */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   629
-			rdma_build_cmsg_dest(&msg, hdr->rdma_key);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   630
-			cookie = hdr->rdma_key;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   631
-			hdr->rdma_key = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   632
-		} else {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   633
-			/* Use the RDMA_MAP cmsg to have sendmsg do the
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   634
-			 * mapping on the fly. */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   635
-			rdma_build_cmsg_map(&msg, hdr->rdma_addr,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   636
-					    hdr->rdma_size * hdr->rdma_vector,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   637
-					    &cookie);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   638
-		}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   639
-	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   640
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   641
 	/* If this is an ACK packet with RDMA, build the cmsg
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   642
-	 * header that goes with it. */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   643
-	if (hdr->op == OP_ACK && hdr->rdma_op != 0) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   644
+	   * header that goes with it. */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   645
+	if (hdr->op == OP_ACK && hdr->rdma_op != 0 && !hdr->rdma_remote_err) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   646
 		unsigned int qindex = hdr->index;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   647
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   648
 		if (t->rdma_inflight[qindex] != 0) {
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   649
@@ -1230,16 +1423,35 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   650
 			 *
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   651
 			 * We return one of the more obscure error messages,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   652
 			 * which we recognize and handle in the top loop. */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   653
-			trace("Drain RDMA 0x%x\n", rdma_user_token(t, qindex));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   654
+			trace("Drain RDMA 0x%lx\n", rdma_user_token(t, qindex, 0, hdr->seq));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   655
 			errno = EBADSLT;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   656
 			return -1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   657
 		}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   658
 		rdma_build_cmsg_xfer(&msg, hdr,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   659
-				rdma_user_token(t, qindex),
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   660
+				rdma_user_token(t, qindex, 0, hdr->seq),
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   661
 				t->local_buf[qindex]);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   662
 		rdma_flight_recorder = &t->rdma_inflight[qindex];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   663
+	} else if (opts->async) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   664
+		if (hdr->op == OP_REQ)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   665
+			build_cmsg_async_send(&msg,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   666
+				rdma_user_token(t, hdr->index, OP_REQ, hdr->seq));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   667
+		else
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   668
+			build_cmsg_async_send(&msg,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   669
+				rdma_user_token(t, hdr->index, OP_ACK, hdr->seq));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   670
 	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   671
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   672
+	if (hdr->op == OP_REQ && hdr->rdma_op != 0) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   673
+		if (hdr->rdma_key != 0) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   674
+			rdma_build_cmsg_dest(&msg, hdr->rdma_key);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   675
+			cookie = hdr->rdma_key;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   676
+			hdr->rdma_key = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   677
+		} else {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   678
+			rdma_build_cmsg_map(&msg, hdr->rdma_addr,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   679
+					hdr->rdma_size * hdr->rdma_vector,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   680
+					&cookie);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   681
+		}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   682
+	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   683
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   684
 	ret = sendmsg(fd, &msg, 0);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   685
 	if (ret < 0) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   686
 		if (errno != EAGAIN && errno != ENOBUFS)
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   687
@@ -1256,10 +1468,41 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   688
 		 * lower 32bit of the cookie */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   689
 		rdma_key_o_meter_add(cookie);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   690
 	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   691
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   692
+	hdr->pending = 1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   693
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   694
+	return ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   695
+}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   696
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   697
+static int send_packet(int fd, struct task *t,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   698
+		struct header *hdr, unsigned int size,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   699
+		struct options *opts, struct child_control *ctl)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   700
+{
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   701
+	ssize_t ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   702
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   703
+	/* Make sure we always have the current sequence number.
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   704
+	 * When we send ACK packets, the seq that gets filled in is
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   705
+	 * stale. */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   706
+	hdr->seq = t->send_seq;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   707
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   708
+	ret = send_msg(fd, t, hdr, size, opts, ctl);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   709
+	if (ret < 0) return ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   710
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   711
 	t->send_seq++;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   712
 	return ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   713
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   714
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   715
+static int resend_packet(int fd, struct task *t,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   716
+		struct header *hdr, unsigned int size,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   717
+		struct options *opts, struct child_control *ctl)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   718
+{
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   719
+	ssize_t ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   720
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   721
+	ret = send_msg(fd, t, hdr, size, opts, ctl);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   722
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   723
+	return ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   724
+}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   725
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   726
 static int send_one(int fd, struct task *t,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   727
 		struct options *opts,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   728
 		struct child_control *ctl)
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   729
@@ -1266,12 +1509,16 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   730
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   731
 	struct timeval start;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   732
 	struct timeval stop;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   733
-	struct header hdr;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   734
+	struct header *hdr = &t->req_header[t->send_index]; 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   735
 	int ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   736
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   737
-	build_header(t, &hdr, OP_REQ, t->send_index);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   738
+	if (opts->async && hdr->pending) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   739
+		return -1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   740
+	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   741
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   742
+	build_header(t, hdr, OP_REQ, t->send_index);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   743
 	if (opts->rdma_size && t->send_seq > 10)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   744
-		rdma_build_req(fd, &hdr, t,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   745
+		rdma_build_req(fd, hdr, t,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   746
 				opts->rdma_size,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   747
 				opts->req_depth,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   748
 				opts->rw_mode,
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   749
@@ -1279,7 +1526,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   750
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   751
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   752
 	gettimeofday(&start, NULL);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   753
-	ret = send_packet(fd, t, &hdr, opts->req_size);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   754
+	ret = send_packet(fd, t, hdr, opts->req_size, opts, ctl);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   755
 	gettimeofday(&stop, NULL);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   756
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   757
 	if (ret < 0)
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   758
@@ -1302,10 +1549,15 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   759
 		struct child_control *ctl)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   760
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   761
 	struct header *hdr = &t->ack_header[qindex];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   762
+	struct header *hdr2 = &t->ack2_header[qindex];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   763
 	ssize_t ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   764
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   765
+	if (opts->async && hdr2->pending) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   766
+		return -1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   767
+	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   768
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   769
 	/* send an ack in response to the req we just got */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   770
-	ret = send_packet(fd, t, hdr, opts->ack_size);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   771
+	ret = send_packet(fd, t, hdr, opts->ack_size, opts, ctl);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   772
 	if (ret < 0)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   773
 		return ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   774
 	if (ret != opts->ack_size)
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   775
@@ -1324,6 +1576,8 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   776
 		break;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   777
 	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   778
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   779
+	memcpy(hdr2, hdr, sizeof(struct header));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   780
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   781
 	return ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   782
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   783
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   784
@@ -1354,8 +1608,49 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   785
 			struct child_control *ctl,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   786
 			int can_send, int do_work)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   787
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   788
+	struct header *hdr;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   789
+	unsigned int index;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   790
+	int req_size;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   791
+	int num_retries = t->retries;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   792
+	uint64_t token;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   793
+	unsigned int type;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   794
+	unsigned int index2;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   795
+	unsigned int i;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   796
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   797
+	while (opts->async && num_retries > 0) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   798
+		index = (t->retry_index - num_retries +
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   799
+			(2 * opts->req_depth)) % (2 * opts->req_depth);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   800
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   801
+		token = t->retry_token[index];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   802
+		type = token & 0x03;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   803
+		index2 = (token & 0xFFFFFFFF) >> 2;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   804
+		i = index2 % opts->req_depth;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   805
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   806
+		if (type == OP_REQ)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   807
+			hdr = &t->req_header[i];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   808
+		else
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   809
+			hdr = &t->ack2_header[i];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   810
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   811
+		if (!hdr->retry)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   812
+			goto next;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   813
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   814
+		if (hdr->op == OP_REQ)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   815
+			req_size = opts->req_size;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   816
+		else
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   817
+			req_size = opts->ack_size;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   818
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   819
+		if (resend_packet(fd, t, hdr, req_size, opts, ctl) < 0) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   820
+			return -1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   821
+		}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   822
+		hdr->retry = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   823
+next:
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   824
+		num_retries--;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   825
+	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   826
+	t->last_retry_seq = t->retries = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   827
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   828
 	if (ack_anything(fd, t, opts, ctl, can_send) < 0)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   829
 		return -1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   830
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   831
 	while (do_work && t->pending < opts->req_depth) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   832
 		if (!can_send)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   833
 			goto eagain;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   834
@@ -1375,7 +1670,8 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   835
 		rds_rdma_cookie_t *cookie,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   836
 		struct sockaddr_in *sin,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   837
 		struct timeval *tstamp,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   838
-		struct task *tasks)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   839
+		struct task *tasks,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   840
+		struct options *opts)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   841
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   842
 	struct cmsghdr *cmsg;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   843
 	char cmsgbuf[256];
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   844
@@ -1398,15 +1694,16 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   845
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   846
 	if (ret < 0)
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   847
 		return ret;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   848
-	if (ret && ret < sizeof(struct header))
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   849
+	if (ret && !strcmp(RDS_VERSION, peer_version) &&
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   850
+		ret < sizeof(struct header))
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   851
 		die("recvmsg() returned short data: %zd", ret);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   852
-	if (msg.msg_namelen < sizeof(struct sockaddr_in))
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   853
+	if (ret && msg.msg_namelen < sizeof(struct sockaddr_in))
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   854
 		die("socklen = %d < sizeof(sin) (%zu)\n",
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   855
 		    msg.msg_namelen, sizeof(struct sockaddr_in));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   856
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   857
 	/* See if the message comes with a RDMA destination */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   858
 	for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   859
-		struct rds_rdma_notify notify;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   860
+		struct rds_rdma_send_notify notify;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   861
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   862
 		if (cmsg->cmsg_level != sol)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   863
 			continue;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   864
@@ -1432,11 +1729,11 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   865
 			memcpy(cookie, CMSG_DATA(cmsg), sizeof(*cookie));
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   866
 			break;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   867
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   868
-		case RDS_CMSG_RDMA_STATUS:
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   869
+		case RDS_CMSG_RDMA_SEND_STATUS:
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   870
 			if (cmsg->cmsg_len < CMSG_LEN(sizeof(notify)))
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   871
 				die("RDS_CMSG_RDMA_DEST data too small");
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   872
 			memcpy(&notify, CMSG_DATA(cmsg), sizeof(notify));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   873
-			rdma_mark_completed(tasks, notify.user_token, notify.status);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   874
+			rdma_mark_completed(tasks, notify.user_token, notify.status, opts);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   875
 			break;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   876
 		}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   877
 	}
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   878
@@ -1445,7 +1742,8 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   879
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   880
 static int recv_one(int fd, struct task *tasks,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   881
 			struct options *opts,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   882
-		struct child_control *ctl)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   883
+		struct child_control *ctl,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   884
+		struct child_control *all_ctl)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   885
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   886
 	char buf[max(opts->req_size, opts->ack_size)];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   887
 	rds_rdma_cookie_t rdma_dest = 0;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   888
@@ -1456,15 +1754,18 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   889
 	uint16_t expect_index;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   890
 	int task_index;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   891
 	ssize_t ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   892
+	int	check_status;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   893
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   894
-	ret = recv_message(fd, buf, sizeof(buf), &rdma_dest, &sin, &tstamp, tasks);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   895
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   896
+	ret = recv_message(fd, buf, sizeof(buf), &rdma_dest, &sin, &tstamp, tasks, opts);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   897
 	if (ret < 0)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   898
 		return ret;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   899
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   900
 	/* If we received only RDMA completions or cong updates,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   901
 	 * ret will be 0 */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   902
-	if (ret == 0)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   903
+	if (ret == 0) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   904
 		return 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   905
+	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   906
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   907
 	/* check the incoming sequence number */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   908
 	task_index = ntohs(sin.sin_port) - opts->starting_port - 1;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   909
@@ -1508,16 +1809,32 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   910
 	hdr.to_port = t->src_addr.sin_port;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   911
 	hdr.index = expect_index;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   912
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   913
-	if (check_hdr(buf, ret, &hdr))
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   914
-		die("header from %s:%u to id %u bogus\n",
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   915
-		    inet_ntoa(sin.sin_addr), htons(sin.sin_port),
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   916
-		    ntohs(t->src_addr.sin_port));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   917
+	check_status = check_hdr(buf, ret, &hdr, opts);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   918
+	if (check_status) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   919
+		if (check_status > 0) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   920
+			die("header from %s:%u to id %u bogus\n",
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   921
+		    	inet_ntoa(sin.sin_addr), htons(sin.sin_port),
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   922
+		    	ntohs(t->src_addr.sin_port));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   923
+		} else
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   924
+			return 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   925
+	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   926
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   927
 	if (hdr.op == OP_ACK) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   928
-		stat_inc(&ctl->cur[S_RTT_USECS],
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   929
-			 usec_sub(&tstamp, &t->send_time[expect_index]));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   930
-		t->pending -= 1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   931
+                uint64_t rtt_time = 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   932
+                  usec_sub(&tstamp, &t->send_time[expect_index]);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   933
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   934
+		stat_inc(&ctl->cur[S_RTT_USECS], rtt_time);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   935
+                if (rtt_time > rtt_threshold)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   936
+			print_outlier("Found RTT = 0x%lx\n", rtt_time);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   937
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   938
+                if (show_histogram)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   939
+                {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   940
+                  ctl->latency_histogram[get_bucket(rtt_time)]++;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   941
+                }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   942
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   943
+		if (t->pending > 0)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   944
+			t->pending -= 1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   945
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   946
 		if (in_hdr.rdma_key)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   947
 			rdma_process_ack(fd, &in_hdr, ctl);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   948
 	} else {
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   949
@@ -1549,6 +1866,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   950
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   951
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   952
 static void run_child(pid_t parent_pid, struct child_control *ctl,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   953
+			struct child_control *all_ctl,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   954
 		      struct options *opts, uint16_t id, int active)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   955
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   956
 	struct sockaddr_in sin;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   957
@@ -1559,8 +1877,15 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   958
 	struct task tasks[opts->nr_tasks];
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   959
 	struct timeval start;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   960
         int do_work = opts->simplex ? active : 1;
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   961
+	int j;
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   962
 
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   963
+
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   964
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   965
+	set_my_lgrp();
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   966
+	sin.sin_family = AF_INET_OFFLOAD;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   967
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   968
 	sin.sin_family = AF_INET;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   969
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   970
 	sin.sin_port = htons(opts->starting_port + 1 + id);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   971
 	sin.sin_addr.s_addr = htonl(opts->receive_addr);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   972
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   973
@@ -1572,7 +1897,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   974
 	for (i = 0; i < opts->nr_tasks; i++) {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   975
 		tasks[i].nr = i;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   976
 		tasks[i].src_addr = sin;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   977
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   978
+		tasks[i].dst_addr.sin_family = AF_INET_OFFLOAD;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   979
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   980
 		tasks[i].dst_addr.sin_family = AF_INET;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   981
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   982
 		tasks[i].dst_addr.sin_addr.s_addr = htonl(opts->send_addr);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   983
 		tasks[i].dst_addr.sin_port = htons(opts->starting_port + 1 + i);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   984
 		tasks[i].send_time = alloca(opts->req_depth * sizeof(struct timeval));
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
   985
@@ -1581,6 +1910,15 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   986
 		tasks[i].rdma_buf = alloca(opts->req_depth * sizeof(uint64_t *));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   987
 		tasks[i].local_buf = alloca(opts->req_depth * sizeof(uint64_t *));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   988
 		tasks[i].ack_header = alloca(opts->req_depth * sizeof(struct header));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   989
+		tasks[i].ack2_header = alloca(opts->req_depth * sizeof(struct header));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   990
+		for (j=0;j<opts->req_depth;j++)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   991
+			tasks[i].ack2_header[j].pending = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   992
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   993
+		tasks[i].req_header = alloca(opts->req_depth * sizeof(struct header));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   994
+		for (j=0;j<opts->req_depth;j++)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   995
+			tasks[i].req_header[j].pending = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   996
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   997
+		tasks[i].retry_token = alloca(2 * opts->req_depth * sizeof(uint64_t));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   998
 		tasks[i].rdma_next_op = (i & 1)? RDMA_OP_READ : RDMA_OP_WRITE;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
   999
 	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1000
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1001
@@ -1611,7 +1949,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1002
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1003
 		check_parent(parent_pid);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1004
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1005
-		ret = poll(&pfd, 1, -1);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1006
+		ret = poll(&pfd, 1, 1000);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1007
 		if (ret < 0) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1008
 			if (errno == EINTR)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1009
 				continue;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1010
@@ -1621,10 +1959,14 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1011
 		pfd.events = POLLIN;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1012
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1013
 		if (pfd.revents & POLLIN) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1014
-			while (recv_one(fd, tasks, opts, ctl) >= 0)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1015
+			while (recv_one(fd, tasks, opts, ctl, all_ctl) >= 0)
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1016
 				;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1017
 		}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1018
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1019
+		/* stop sending if in shutdown phase */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1020
+		if (ctl->stopping)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1021
+			continue;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1022
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1023
 		/* keep the pipeline full */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1024
 		can_send = !!(pfd.revents & POLLOUT);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1025
 		for (i = 0, t = tasks; i < opts->nr_tasks; i++, t++) {
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1026
@@ -1633,6 +1975,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1027
 			if (t->drain_rdmas)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1028
 				continue;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1029
 			if (send_anything(fd, t, opts, ctl, can_send, do_work) < 0) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1030
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1031
 				pfd.events |= POLLOUT;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1032
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1033
 				/* If the send queue is full, we will see EAGAIN.
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1034
@@ -1665,8 +2008,12 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1035
 	uint32_t i;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1036
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1037
 	len = opts->nr_tasks * sizeof(*ctl);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1038
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1039
+	ctl = (struct child_control *)mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_SHARED, -1, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1040
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1041
 	ctl = mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_SHARED,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1042
 		   0, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1043
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1044
 	if (ctl == MAP_FAILED)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1045
 		die("mmap of %u child control structs failed", opts->nr_tasks);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1046
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1047
@@ -1688,7 +2035,7 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1048
 				control_fd = -1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1049
 			}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1050
 			rdma_key_o_meter_set_self(i);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1051
-			run_child(parent, ctl + i, opts, i, active);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1052
+			run_child(parent, ctl + i, ctl, opts, i, active);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1053
 			exit(0);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1054
 		}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1055
 		ctl[i].pid = pid;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1056
@@ -1699,7 +2046,7 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1057
 			continue;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1058
 		pid = waitpid(-1, NULL, WNOHANG);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1059
 		if (pid)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1060
-			die("child %u (pid %u) exited\n", i, pid);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1061
+			die("child %u (pid %u) exited\n", i, (int)pid);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1062
 		sleep(1);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1063
 		i--; /* try this child again */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1064
 	}
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1065
@@ -1823,6 +2170,7 @@
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1066
 
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1067
 	if (disable)
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1068
 		return;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1069
+#if !(defined(__SVR4) && defined(__sun))
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1070
 	if ((fp = fopen("/proc/stat", "r")) == NULL) {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1071
 		fprintf(stderr, "Cannot open /proc/stat (%s) - "
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1072
 				"not printing cpu stats\n",
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1073
@@ -1856,10 +2204,37 @@
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1074
 		}
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1075
 	}
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1076
 	fclose(fp);
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1077
+#else
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1078
+#define NSEC_TO_TICK(v)		(v * sysconf(_SC_CLK_TCK)/1000000000)
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1079
+	sol_cpu_stats_t		stats;	
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1080
 
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1081
+	solaris_init();
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1082
+	if ((sol_get_cpu_stats(&stats)) < 0) {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1083
+		disable = 1;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1084
+		return;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1085
+	}
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1086
+	solaris_fini();
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1087
+	current.times[0] = stats.t_user;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1088
+	current.times[1] = 0;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1089
+	current.times[2] = stats.t_kernel;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1090
+	current.times[3] = stats.t_idle;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1091
+	current.times[4] = stats.t_iowait;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1092
+	current.times[5] = 0;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1093
+	current.times[6] = 0;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1094
+	current.times[7] = 0;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1095
+	current.intr = NSEC_TO_TICK(stats.t_intr);	/* NSEC_TO_TICK */
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1096
+
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1097
+#endif
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1098
+
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1099
 	if (initialize) {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1100
+#if !(defined(__SVR4) && defined(__sun))
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1101
 		printf(",user:percent,system:percent,idle:percent"
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1102
 		       ",irq:percent,intr:count");
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1103
+#else
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1104
+		/* Solaris kstat doesn't provide irq/softirq info. */
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1105
+		printf(",user:percent,system:percent,idle:percent"
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1106
+		       ",intr:count");
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1107
+#endif
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1108
 	} else {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1109
 		struct sys_stats sys;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1110
 		unsigned long sum = 0;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1111
@@ -1884,6 +2259,7 @@
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1112
 		 *  5	irq
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1113
 		 *  6	softirq
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1114
 		 */
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1115
+#if !(defined(__SVR4) && defined(__sun))
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1116
 		printf(",%f,%f,%f,%f,%Lu",
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1117
 			(sys.times[0] + sys.times[1]) * scale,
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1118
 			sys.times[2] * scale,
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1119
@@ -1890,6 +2266,14 @@
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1120
 			(sys.times[3] + sys.times[4]) * scale,
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1121
 			(sys.times[5] + sys.times[6]) * scale,
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1122
 			sys.intr);
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1123
+#else
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1124
+		/* Solaris kstat doesn't provide irq/softirq info. */
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1125
+		printf(",%f,%f,%f,%Lu",
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1126
+			(sys.times[0] + sys.times[1]) * scale,
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1127
+			sys.times[2] * scale,
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1128
+			(sys.times[3] + sys.times[4]) * scale,
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1129
+			sys.intr);
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1130
+#endif
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1131
 	}
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1132
 	prev = current;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1133
 }
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1134
@@ -1903,6 +2287,10 @@
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1135
 	static socklen_t buflen = 0;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1136
 	static int sock_fd = -1;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1137
 	int i, count, item_size;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1138
+#if defined(__SVR4) && defined(__sun)
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1139
+	socklen_t len;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1140
+	struct rds_info_arg arg;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1141
+#endif
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1142
 
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1143
 	if (sock_fd < 0) {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1144
 		sock_fd = socket(pf, SOCK_SEQPACKET, 0);
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1145
@@ -1912,6 +2300,7 @@
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1146
 
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1147
 	/* We should only loop once on the first call; after that the
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1148
 	 * buffer requirements for RDS counters should not change. */
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1149
+#if !(defined(__SVR4) && defined(__sun))
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1150
 	while ((item_size = getsockopt(sock_fd, sol, RDS_INFO_COUNTERS, curr, &buflen)) < 0) {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1151
 		if (errno != ENOSPC)
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1152
 			die_errno("getsockopt(RDS_INFO_COUNTERS) failed");
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1153
@@ -1919,7 +2308,29 @@
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1154
 		if (!curr)
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1155
 			die_errno("Cannot allocate buffer for stats counters");
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1156
 	}
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1157
+#else
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1158
+	int retcode;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1159
 
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1160
+	retcode = sol_ioctl(
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1161
+	    sock_fd, RDS_INFO_COUNTERS, &arg, &buflen, &item_size);
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1162
+	if (retcode != 0) {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1163
+		if (retcode == 1) {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1164
+			die_errno("ioctl(RDS_INFO_COUNTERS) failed");
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1165
+		} else if (retcode == 2) {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1166
+			fprintf(stderr, "%s: Unable to allocate memory "
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1167
+			    "for %u bytes of info: %s\n",
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1168
+			    "rds-stress", buflen, strerror(errno));
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1169
+			return;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1170
+		} else {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1171
+			fprintf(stderr, "%s: Unable to access "
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1172
+			    "RDS_INFO_COUNTERS statistics: %s\n",
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1173
+			    "rds-stress", strerror(errno));
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1174
+			return;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1175
+		}
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1176
+	}
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1177
+
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1178
+#endif
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1179
+
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1180
 	if (item_size > sizeof(*ctr))
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1181
 		die("Bad counter item size in RDS_INFO_COUNTERS (got %d, max %zd)\n",
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1182
 				item_size, sizeof(*ctr));
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1183
@@ -1932,8 +2343,11 @@
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1184
 	}
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1185
 
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1186
 	for (i = 0; i < count; ++i)
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1187
+#if !(defined(__SVR4) && defined(__sun))
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1188
 		memcpy(ctr + i, curr + i * item_size, item_size);
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1189
-
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1190
+#else
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1191
+		memcpy(ctr + i, ((void *)(uintptr_t)arg.datap) + i * item_size, item_size);
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1192
+#endif
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1193
 	gettimeofday(&now, NULL);
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1194
 
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1195
 	if (initialize) {
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1196
@@ -1957,6 +2371,10 @@
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1197
 	memcpy(prev, ctr, count * sizeof(*ctr));
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1198
 	last_ts = now;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1199
 
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1200
+#if defined(__SVR4) && defined(__sun)
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1201
+	free((void *)(uintptr_t)arg.datap);
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1202
+#endif
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1203
+
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1204
 	get_stats(initialize);
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1205
 }
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1206
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1207
@@ -1967,7 +2385,7 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1208
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1209
 	pid = waitpid(-1, &status, wflags);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1210
 	if (pid < 0)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1211
-		die("waitpid returned %u", pid);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1212
+		die("waitpid returned %u", (int)pid);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1213
 	if (pid == 0)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1214
 		return 0;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1215
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1216
@@ -1975,15 +2393,15 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1217
 		if (WEXITSTATUS(status) == 0)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1218
 			return 1;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1219
 		die("child pid %u exited with status %d\n",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1220
-				pid, WEXITSTATUS(status));
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1221
+				(int)pid, WEXITSTATUS(status));
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1222
 	}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1223
 	if (WIFSIGNALED(status)) {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1224
 		if (WTERMSIG(status) == SIGTERM)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1225
 			return 1;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1226
 		die("child pid %u exited with signal %d\n",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1227
-				pid, WTERMSIG(status));
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1228
+				(int)pid, WTERMSIG(status));
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1229
 	}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1230
-	die("child pid %u wait status %d\n", pid, status);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1231
+	die("child pid %u wait status %d\n", (int)pid, status);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1232
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1233
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1234
 static void release_children_and_wait(struct options *opts,
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1235
@@ -1995,9 +2413,13 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1236
 	struct counter summary[NR_STATS];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1237
 	struct timeval start, end, now, first_ts, last_ts;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1238
 	double cpu_total = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1239
-	uint16_t i, cpu_samples = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1240
+	uint16_t i, j, cpu_samples = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1241
 	uint16_t nr_running;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1242
+        uint64_t latency_histogram[MAX_BUCKETS];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1243
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1244
+	if (show_histogram) 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1245
+	        memset(latency_histogram, 0, sizeof(latency_histogram));
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1246
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1247
 	gettimeofday(&start, NULL);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1248
 	start.tv_sec += 2;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1249
 	for (i = 0; i < opts->nr_tasks; i++)
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1250
@@ -2139,7 +2561,12 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1251
 	control_fd = -1;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1252
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1253
 	if (nr_running) {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1254
+		/* let everything gracefully stop before we kill the chillins */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1255
 		for (i = 0; i < opts->nr_tasks; i++)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1256
+			ctl[i].stopping = 1;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1257
+		sleep(1);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1258
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1259
+		for (i = 0; i < opts->nr_tasks; i++)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1260
 			kill(ctl[i].pid, SIGTERM);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1261
 		stop_soakers(soak_arr);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1262
 	}
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1263
@@ -2167,6 +2594,19 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1264
 			avg(&summary[S_SENDMSG_USECS]),
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1265
 			avg(&summary[S_RTT_USECS]),
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1266
 			soak_arr? scale * cpu_total : -1.0);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1267
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1268
+		if (show_histogram) 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1269
+		{
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1270
+			for (i = 0; i < opts->nr_tasks; i++)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1271
+			  for (j=0;j < MAX_BUCKETS; j++)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1272
+			    latency_histogram[j] += ctl[i].latency_histogram[j];
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1273
+			    
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1274
+			printf("\nRTT histogram\n");
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1275
+			printf("RTT (us)        \t\t    Count\n");
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1276
+			for (i=0;i < MAX_BUCKETS; i++)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1277
+			  printf("[%6u - %6u] \t\t %8u\n", 1 << i, 1 << (i+1), 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1278
+			         (unsigned int)latency_histogram[i]);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1279
+		}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1280
 	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1281
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1282
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1283
@@ -2220,6 +2660,21 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1284
 {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1285
 	ssize_t ret;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1286
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1287
+	if (size == sizeof(struct options)) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1288
+		memset(ptr, 0, size);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1289
+		ret = read(fd, peer_version, VERSION_MAX_LEN);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1290
+		if (ret != VERSION_MAX_LEN)
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1291
+			die_errno("Failed to read version");
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1292
+
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1293
+		if (strcmp(peer_version, RDS_VERSION)) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1294
+			ptr += ret;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1295
+			memcpy(ptr, peer_version, VERSION_MAX_LEN);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1296
+			size = sizeof(struct options_2_0_6) - ret;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1297
+		} else
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1298
+			size -= ret;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1299
+		ptr += ret;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1300
+	}
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1301
+
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1302
 	while (size) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1303
 		ret = read(fd, ptr, size);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1304
 		if (ret < 0)
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1305
@@ -2233,6 +2688,7 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1306
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1307
 static void encode_options(struct options *dst, const struct options *src)
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1308
 {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1309
+	memcpy(dst->version, src->version, VERSION_MAX_LEN);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1310
 	dst->req_depth = htonl(src->req_depth);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1311
 	dst->req_size = htonl(src->req_size);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1312
 	dst->ack_size = htonl(src->ack_size);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1313
@@ -2262,10 +2718,13 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1314
         dst->simplex = src->simplex;                    /* byte sized */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1315
         dst->rw_mode = src->rw_mode;                    /* byte sized */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1316
         dst->rdma_vector = htonl(src->rdma_vector);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1317
+	dst->tos = src->tos;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1318
+	dst->async = src->async;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1319
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1320
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1321
 static void decode_options(struct options *dst, const struct options *src)
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1322
 {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1323
+	memcpy(dst->version, src->version, VERSION_MAX_LEN);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1324
 	dst->req_depth = ntohl(src->req_depth);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1325
 	dst->req_size = ntohl(src->req_size);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1326
 	dst->ack_size = ntohl(src->ack_size);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1327
@@ -2295,6 +2754,8 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1328
         dst->simplex = src->simplex;                    /* byte sized */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1329
         dst->rw_mode = src->rw_mode;                    /* byte sized */
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1330
 	dst->rdma_vector = ntohl(src->rdma_vector);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1331
+	dst->tos = src->tos;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1332
+	dst->async = src->async;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1333
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1334
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1335
 static void verify_option_encdec(const struct options *opts)
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1336
@@ -2316,6 +2777,25 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1337
 		die("encode/decode check of options struct failed");
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1338
 }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1339
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1340
+static void reset_conn(struct options *opts)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1341
+{
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1342
+	struct rds_reset val;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1343
+	int fd;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1344
+	struct sockaddr_in sin;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1345
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1346
+	sin.sin_family = AF_INET;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1347
+	sin.sin_port = htons(opts->starting_port);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1348
+	sin.sin_addr.s_addr = htonl(opts->receive_addr);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1349
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1350
+	fd = bound_socket(pf, SOCK_SEQPACKET, 0, &sin);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1351
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1352
+	val.tos = opts->tos;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1353
+	val.src.s_addr = htonl(opts->receive_addr);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1354
+	val.dst.s_addr = htonl(opts->send_addr);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1355
+	if (setsockopt(fd, sol, RDS_CONN_RESET, &val, sizeof(val)))
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1356
+		die_errno("setsockopt RDS_CONN_RESET failed");
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1357
+}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1358
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1359
 static int active_parent(struct options *opts, struct soak_control *soak_arr)
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1360
 {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1361
 	struct options enc_options;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1362
@@ -2324,6 +2804,11 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1363
 	int fd;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1364
 	uint8_t ok;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1365
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1366
+	if (reset_connection) {
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1367
+		reset_conn(opts);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1368
+		return 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1369
+	}
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1370
+
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1371
 	if (opts->show_params) {
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1372
 		unsigned int k;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1373
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1374
@@ -2387,7 +2872,11 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1375
 	 * We just tell the peer what options to use.
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1376
 	 */
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1377
 	encode_options(&enc_options, opts);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1378
-	peer_send(fd, &enc_options, sizeof(struct options));
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1379
+	if (opts->tos || opts->async)
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1380
+		peer_send(fd, &enc_options, sizeof(struct options));
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1381
+	else
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1382
+		peer_send(fd, &enc_options.req_depth,
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1383
+				sizeof(struct options_2_0_6));
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1384
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1385
 	printf("negotiated options, tasks will start in 2 seconds\n");
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1386
 	ctl = start_children(opts, 1);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1387
@@ -2517,7 +3006,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1388
 	/* an extra terminating entry which will be all 0s */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1389
 	len = (nr_soak + 1) * sizeof(struct soak_control);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1390
 	soak_arr = mmap(NULL, len, PROT_READ|PROT_WRITE,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1391
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1392
+			MAP_ANONYMOUS|MAP_SHARED, -1, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1393
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1394
 			MAP_ANONYMOUS|MAP_SHARED, 0, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1395
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1396
 	if (soak_arr == MAP_FAILED)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1397
 		die("mmap of %ld soak control structs failed", nr_soak);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1398
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1399
@@ -2572,6 +3065,10 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1400
 	OPT_CONNECT_RETRIES,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1401
 	OPT_USE_CONG_MONITOR,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1402
 	OPT_PERFDATA,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1403
+        OPT_SHOW_OUTLIERS,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1404
+        OPT_SHOW_HISTOGRAM,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1405
+	OPT_RESET,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1406
+	OPT_ASYNC,
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1407
 };
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1408
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1409
 static struct option long_options[] = {
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1410
@@ -2584,11 +3081,13 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1411
 { "send-addr",		required_argument,	NULL,	's'	},
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1412
 { "port",		required_argument,	NULL,	'p'	},
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1413
 { "time",		required_argument,	NULL,	'T'	},
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1414
+{ "tos",                required_argument,      NULL,   'Q'     },
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1415
 { "report-cpu",		no_argument,		NULL,	'c'	},
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1416
 { "report-summary",	no_argument,		NULL,	'z'	},
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1417
 { "rtprio",		no_argument,		NULL,	'R'	},
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1418
 { "verify",		no_argument,		NULL,	'v'	},
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1419
 { "trace",		no_argument,		NULL,	'V'	},
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1420
+{ "lgrpid",		required_argument,	NULL,	'g'	},
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1421
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1422
 { "rdma-use-once",	required_argument,	NULL,	OPT_RDMA_USE_ONCE },
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1423
 { "rdma-use-get-mr",	required_argument,	NULL,	OPT_RDMA_USE_GET_MR },
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1424
@@ -2601,6 +3100,10 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1425
 { "show-perfdata",	no_argument,		NULL,	OPT_PERFDATA },
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1426
 { "connect-retries",	required_argument,	NULL,	OPT_CONNECT_RETRIES },
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1427
 { "use-cong-monitor",	required_argument,	NULL,	OPT_USE_CONG_MONITOR },
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1428
+{ "show-outliers",      required_argument,      NULL,   OPT_SHOW_OUTLIERS    },
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1429
+{ "show-histogram",     no_argument,            NULL,   OPT_SHOW_HISTOGRAM   },
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1430
+{ "reset",              no_argument,            NULL,   OPT_RESET },
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1431
+{ "async",              no_argument,            NULL,   OPT_ASYNC },
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1432
 
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1433
 { NULL }
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1434
 };
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1435
@@ -2640,6 +3143,8 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1436
 	opts.use_cong_monitor = 1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1437
 	opts.rdma_use_fence = 1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1438
 	opts.rdma_cache_mrs = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1439
+	opts.rdma_use_once = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1440
+	opts.rdma_use_get_mr = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1441
 	opts.rdma_alignment = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1442
 	opts.rdma_key_o_meter = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1443
 	opts.show_params = 0;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1444
@@ -2648,11 +3153,17 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1445
         opts.simplex = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1446
         opts.rw_mode = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1447
 	opts.rdma_vector = 1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1448
+        rtt_threshold = ~0U;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1449
+        show_histogram = 0;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1450
+	opts.tos = 0;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1451
+	reset_connection = 0;
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1452
+	opts.async = 0;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1453
+	strcpy(opts.version, RDS_VERSION);
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1454
 
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1455
 	while(1) {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1456
 		int c, index;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1457
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1458
-		c = getopt_long(argc, argv, "+a:cD:d:hI:M:op:q:Rr:s:t:T:vVz",
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1459
+		c = getopt_long(argc, argv, "+a:cD:d:hI:M:op:q:Rr:s:t:T:Q:vVg:z",
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1460
 				long_options, &index);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1461
 		if (c == -1)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1462
 			break;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1463
@@ -2702,6 +3213,9 @@
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1464
 			case 'T':
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1465
 				opts.run_time = parse_ull(optarg, (uint32_t)~0);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1466
 				break;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1467
+			case 'Q':
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1468
+				opts.tos = parse_ull(optarg, (uint8_t)~0);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1469
+				break;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1470
 			case 'z':
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1471
 				opts.summary_only = 1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1472
 				break;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1473
@@ -2711,9 +3225,25 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1474
 			case 'V':
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1475
 				opts.tracing = 1;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1476
 				break;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1477
+			case 'g':
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1478
+				lgrp_id = (lgrp_id_t)parse_ull(optarg,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1479
+				    (uint32_t)~0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1480
+				break;
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1481
+                        case OPT_SHOW_OUTLIERS:
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1482
+                                rtt_threshold = parse_ull(optarg, ~0U);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1483
+                                break;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1484
+                        case OPT_SHOW_HISTOGRAM:
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1485
+                                show_histogram = 1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1486
+                                break;
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1487
 			case OPT_USE_CONG_MONITOR:
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1488
 				opts.use_cong_monitor = parse_ull(optarg, 1);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1489
 				break;
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1490
+			case OPT_RESET:
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1491
+				reset_connection = 1;
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1492
+				break;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1493
+			case OPT_ASYNC:
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1494
+				opts.async = 1;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1495
+				break;
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1496
 			case OPT_RDMA_USE_ONCE:
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1497
 				opts.rdma_use_once = parse_ull(optarg, 1);
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  1498
 				break;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1499
@@ -2786,6 +3316,7 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1500
 	if (opts.rdma_size && 0)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1501
 		opts.rdma_size = (opts.rdma_size + 4095) & ~4095;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1502
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1503
+	set_my_lgrp();
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1504
 	opt = opts;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1505
 	return active_parent(&opts, soak_arr);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1506
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1507
diff -r -u /tmp/rds-tools-2.0.4/pfhack.h rds-tools-2.0.7/pfhack.h
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1508
--- /tmp/rds-tools-2.0.4/pfhack.h	Wed Aug  4 15:25:11 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1509
+++ rds-tools-2.0.7/pfhack.h	Thu Feb 24 13:27:51 2011
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1510
@@ -44,9 +44,11 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1511
 #ifndef __PF_HACK_H
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1512
 #define __PF_HACK_H
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1513
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1514
+#if !((defined(__SVR4) && defined(__sun)))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1515
 #define PF_RDS		21
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1516
 #define AF_RDS		21
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1517
 #define SOL_RDS		276
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1518
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1519
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1520
 extern int discover_pf_rds();
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1521
 extern int discover_sol_rds();
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1522
diff -r -u /tmp/rds-tools-2.0.4/rds-info.c rds-tools-2.0.7/rds-info.c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1523
--- /tmp/rds-tools-2.0.4/rds-info.c	Wed Aug  4 15:25:10 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1524
+++ rds-tools-2.0.7/rds-info.c	Thu Feb 24 13:27:51 2011
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1525
@@ -42,16 +42,28 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1526
 #include <sys/types.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1527
 #include <sys/socket.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1528
 #include <errno.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1529
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1530
+#include <strings.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1531
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1532
 #include <string.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1533
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1534
 #include <inttypes.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1535
 #include <netinet/in.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1536
 #include <arpa/inet.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1537
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1538
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1539
+#include <sys/rds.h>
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1540
+#include <infiniband/ofa_solaris.h>
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1541
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1542
 #include "rds.h"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1543
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1544
 #include "pfhack.h"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1545
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1546
+/* WHUPS changed the struct rds_info_connection definition b/w rds in 1.4 & 1.5. gotta support both
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1547
+   for now. TODO remove check of transport[15] once ofed pre-1.5 is extinct. */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1548
 #define rds_conn_flag(conn, flag, letter) \
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1549
-	(conn.flags & RDS_INFO_CONNECTION_FLAG_##flag ? letter : '-')
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1550
+	(conn.flags & RDS_INFO_CONNECTION_FLAG_##flag \
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1551
+	|| conn.transport[15] & RDS_INFO_CONNECTION_FLAG_##flag ? letter : '-')
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1552
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1553
 #define min(a, b) (a < b ? a : b)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1554
 #define array_size(foo) (sizeof(foo) / sizeof(foo[0]))
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1555
@@ -76,6 +88,10 @@
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1556
 
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1557
 char *progname = "rds-info";
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1558
 
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1559
+#if defined(__SVR4) && defined(__sun)
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1560
+int sol_ioctl(int, int, struct rds_info_arg *, socklen_t *, int *);
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1561
+#endif
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1562
+
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1563
 /* Like inet_ntoa, but can be re-entered several times without clobbering
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1564
  * the previously returned string. */
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1565
 static const char *paddr(int af, const void *addrp)
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1566
@@ -134,18 +150,20 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1567
 {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1568
 	struct rds_info_connection conn;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1569
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1570
-	printf("\nRDS Connections:\n%15s %15s %16s %16s %3s\n",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1571
-		"LocalAddr", "RemoteAddr", "NextTX", "NextRX", "Flg");
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1572
+	printf("\nRDS Connections:\n%15s %15s %4s %16s %16s %4s\n",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1573
+		"LocalAddr", "RemoteAddr", "Tos", "NextTX", "NextRX", "Flgs");
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1574
 	
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1575
 	for_each(conn, data, each, len) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1576
-		printf("%15s %15s %16"PRIu64" %16"PRIu64" %c%c%c\n",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1577
+		printf("%15s %15s %4u %16"PRIu64" %16"PRIu64" %c%c%c%c\n",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1578
 			ipv4addr(conn.laddr),
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1579
 			ipv4addr(conn.faddr),
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1580
+			conn.tos,
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1581
 			conn.next_tx_seq,
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1582
 			conn.next_rx_seq,
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1583
 			rds_conn_flag(conn, SENDING, 's'),
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1584
 			rds_conn_flag(conn, CONNECTING, 'c'),
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1585
-			rds_conn_flag(conn, CONNECTED, 'C'));
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1586
+			rds_conn_flag(conn, CONNECTED, 'C'),
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1587
+			rds_conn_flag(conn, ERROR, 'E'));
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1588
 	}
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1589
 }
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1590
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1591
@@ -153,16 +171,17 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1592
 {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1593
 	struct rds_info_message msg;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1594
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1595
-	printf("\n%s Message Queue:\n%15s %5s %15s %5s %16s %10s\n",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1596
+	printf("\n%s Message Queue:\n%15s %5s %15s %5s %4s %16s %10s\n",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1597
 		(char *)extra,
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1598
-		"LocalAddr", "LPort", "RemoteAddr", "RPort", "Seq", "Bytes");
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1599
+		"LocalAddr", "LPort", "RemoteAddr", "RPort", "Tos","Seq", "Bytes");
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1600
 	
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1601
 	for_each(msg, data, each, len) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1602
-		printf("%15s %5u %15s %5u %16"PRIu64" %10u\n",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1603
+		printf("%15s %5u %15s %5u %4u %16"PRIu64" %10u\n",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1604
 			ipv4addr(msg.laddr),
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1605
 			ntohs(msg.lport),
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1606
 			ipv4addr(msg.faddr),
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1607
 			ntohs(msg.fport),
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1608
+			msg.tos,
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1609
 			msg.seq, msg.len);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1610
 	}
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1611
 }
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1612
@@ -191,13 +210,14 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1613
 {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1614
 	struct rds_info_rdma_connection ic;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1615
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1616
-	printf("\nRDS IB Connections:\n%15s %15s %32s %32s\n",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1617
-		"LocalAddr", "RemoteAddr", "LocalDev", "RemoteDev");
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1618
+	printf("\nRDS IB Connections:\n%15s %15s %4s %3s %32s %32s\n",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1619
+		"LocalAddr", "RemoteAddr", "Tos", "SL", "LocalDev", "RemoteDev");
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1620
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1621
 	for_each(ic, data, each, len) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1622
-		printf("%15s %15s %32s %32s",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1623
+		printf("%15s %15s %4u %3u %32s %32s",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1624
 			ipv4addr(ic.src_addr),
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1625
 			ipv4addr(ic.dst_addr),
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1626
+			ic.tos,ic.sl,
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1627
 			ipv6addr(ic.src_gid),
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1628
 			ipv6addr(ic.dst_gid));
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1629
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1630
@@ -234,8 +254,10 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1631
 		print_msgs, "Send", 0 },
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1632
 	['t'] = { RDS_INFO_RETRANS_MESSAGES, "retransmit queue messages",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1633
 		  print_msgs, "Retransmit", 0 },
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1634
+#if !(defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1635
 	['T'] = { RDS_INFO_TCP_SOCKETS, "TCP transport sockets",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1636
 		  print_tcp_socks, NULL, 0 },
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1637
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1638
 	['I'] = { RDS_INFO_IB_CONNECTIONS, "IB transport connections",
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1639
 		  print_ib_conns, NULL, 0 },
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1640
 };
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1641
@@ -266,6 +288,9 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1642
 	char optstring[258] = "v+";
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1643
 	int given_options = 0;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1644
 	socklen_t len = 0;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1645
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1646
+	struct rds_info_arg arg;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1647
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1648
 	void *data = NULL;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1649
 	int fd;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1650
 	int each;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1651
@@ -322,6 +347,7 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1652
 		    (given_options && !infos[i].option_given))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1653
 			continue;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1654
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1655
+#if !(defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1656
 		/* read in the info until we get a full snapshot */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1657
 		while ((each = getsockopt(fd, sol, infos[i].opt_val, data,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1658
 				   &len)) < 0) {
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1659
@@ -345,15 +371,47 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1660
 				return 1;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1661
 			}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1662
 		}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1663
+#else
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1664
+		int retcode;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1665
 
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1666
+		retcode = sol_ioctl(fd, infos[i].opt_val, &arg, &len, &each);
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1667
+		if (retcode != 0) {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1668
+			if (retcode == 1) {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1669
+				fprintf(stderr, "%s: Unable get statistics: "
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1670
+				    "%s\n", progname, strerror(errno));
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1671
+				return 1;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1672
+			} else if (retcode == 2) {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1673
+				fprintf(stderr, "%s: Unable to allocate memory"
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1674
+				    " for %u bytes of info: %s\n",
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1675
+				    progname, len, strerror(errno));
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1676
+				return 1;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1677
+			} else {
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1678
+				fprintf(stderr, "%s: Unable to get statistics:"
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1679
+				    " %s\n", progname, strerror(errno));
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1680
+				return 1;
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1681
+			}
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1682
+		}
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1683
+
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1684
+		/* No data at the driver */
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1685
+		if (len == 0)
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1686
+			invalid_opt = 1;;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1687
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1688
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1689
 		if (invalid_opt)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1690
 			continue;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1691
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1692
+#if !(defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1693
 		infos[i].print(data, each, len, infos[i].extra);
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1694
-
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1695
+#else
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  1696
+		infos[i].print((void *)(uintptr_t)arg.datap, each, len,
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1697
+		    infos[i].extra);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1698
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1699
 		if (given_options && --given_options == 0)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1700
 			break;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1701
 	}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1702
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1703
+	free((void *)(uintptr_t)arg.datap);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1704
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1705
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1706
 	return 0;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1707
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1708
diff -r -u /tmp/rds-tools-2.0.4/rds.7 rds-tools-2.0.7/rds.7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1709
--- /tmp/rds-tools-2.0.4/rds.7	Wed Aug  4 15:25:11 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1710
+++ rds-tools-2.0.7/rds.7	Thu Feb 24 13:27:52 2011
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1711
@@ -6,6 +6,7 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1712
 .nf
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1713
 .B #include <sys/socket.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1714
 .B #include <netinet/in.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1715
+.B #include <sys/rds.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1716
 .fi
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1717
 .SH DESCRIPTION
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1718
 This is an implementation of the RDS socket API. It provides reliable,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1719
@@ -14,18 +15,13 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1720
 Currently, RDS can be transported over Infiniband, and loopback.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1721
 RDS over TCP is disabled, but will be re-enabled in the near future.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1722
 .PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1723
-RDS uses standard
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1724
-.B AF_INET
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1725
-addresses as described in
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1726
-.BR ip (7)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1727
+RDS uses 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1728
+.B AF_INET_OFFLOAD address family 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1729
 to identify end points.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1730
 .\"------------------------------------------------------------------
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1731
 .SS Socket Creation
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1732
 RDS is still in development and as such does not have a reserved protocol
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1733
-family constant. Applications must read the string representation of the
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1734
-protocol family value from the
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1735
-.B pf_rds
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1736
-sysctl parameter file described below.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1737
+family constant.  Applications should use AF_INET_OFFLOAD.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1738
 .PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1739
 .nf
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1740
 .B rds_socket = socket(pf_rds, SOCK_SEQPACKET, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1741
@@ -58,9 +54,6 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1742
 .BR SOL_RDS ).
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1743
 Just as with the RDS protocol family, an official value has not been
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1744
 assigned yet, so the kernel will assign a value dynamically.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1745
-The assigned value can be retrieved from the
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1746
-.B sol_rds
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1747
-sysctl parameter file.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1748
 .PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1749
 RDS specific socket options will be described in a separate section
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1750
 below.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1751
@@ -77,7 +70,7 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1752
 .PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1753
 For instance, when binding to the address of an Infiniband interface
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1754
 such as
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1755
-.BR ib0 ,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1756
+.BR ibd0 ,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1757
 the socket will use the Infiniband transport. If RDS is not able
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1758
 to associate a transport with the given address, it will return
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1759
 .BR EADDRNOTAVAIL .
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1760
@@ -394,47 +387,6 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1761
 be delivered in the order they're sent. Messages sent from different
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1762
 sockets, or to different destinations, may be delivered in any order.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1763
 .\"------------------------------------------------------------------
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1764
-.SH SYSCTL VALUES
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1765
-These parameteres may only be accessed through their files in
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1766
-.BR /proc/sys/net/rds .
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1767
-Access through
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1768
-.BR sysctl (2)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1769
-is not supported.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1770
-.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1771
-.B pf_rds
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1772
-This file contains the string representation of the protocol family
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1773
-constant passed to
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1774
-.BR socket (2)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1775
-to create a new RDS socket.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1776
-.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1777
-.B sol_rds
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1778
-This file contains the string representation of the socket level parameter
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1779
-that is passed to
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1780
-.BR getsockopt (2)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1781
-and
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1782
-.BR setsockopt (2)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1783
-to manipulate RDS socket options.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1784
-.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1785
-.BR max_unacked_bytes " and " max_unacked_packets
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1786
-These parameters are used to tune the generation of acknowledgements. By
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1787
-default, the system receiving RDS messages does not send back explicit
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1788
-acknowledgements unless it transmits a message of its own (in which
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1789
-case the ACK is piggybacked onto the outgoing message), or when the sending
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1790
-system requests an ACK.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1791
-.IP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1792
-However, the sender needs to see an ACK from time to time so that it
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1793
-can purge old messages from the send queue. The unacked bytes and
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1794
-packet counters are used to keep track of how much data has been
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1795
-sent without requesting an ACK. The default is to request an acknowledgement
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1796
-every 16 packets, or every 16 MB, whichever comes first.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1797
-.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1798
-.BR reconnect_delay_min_ms " and " reconnect_delay_max_ms
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1799
-RDS uses host-to-host connections to transport RDS messages (both for the TCP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1800
-and the Infiniband transport). If this connection breaks, RDS will try to
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1801
-re-establish the connection. Because this reconnect may be triggered by
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1802
-both hosts at the same time and fail, RDS uses a random backoff before attempting
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1803
-a reconnect. These two parameters specify the minimum and maximum delay in
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1804
-milliseconds. The default values are 1 and 1000, respectively.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1805
 .SH SEE ALSO
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1806
 .BR rds-rdma (7),
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1807
 .BR socket (2),
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1808
diff -r -u /tmp/rds-tools-2.0.4/rds-info.1 rds-tools-2.0.7/rds-info.1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1809
--- /tmp/rds-tools-2.0.4/rds-info.1	Wed Aug  4 15:25:11 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1810
+++ rds-tools-2.0.7/rds-info.1	Thu Feb 24 13:27:51 2011
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1811
@@ -1,162 +1,160 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1812
-.Dd October 30, 2006
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1813
-.Dt RDS-INFO 1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1814
-.Os
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1815
-.Sh NAME
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1816
-.Nm rds-info
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1817
-.Nd display information from the RDS kernel module
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1818
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1819
-.Sh SYNOPSIS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1820
-.Nm rds-info
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1821
-.Op Fl v
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1822
-.Bk -words
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1823
-.Op Fl cknrstIT
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1824
+.TH RDS-INFO 1 "October 30, 2006"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1825
+.SH "NAME"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1826
+rds-info - display information from the RDS kernel module
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1827
+.SH SYNOPSIS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1828
+.B rds-info [-cknrstIT]
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1829
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1830
-.Sh DESCRIPTION
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1831
-The
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1832
-.Nm
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1833
-utility presents various sources of information that
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1834
+.SH DESCRIPTION
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1835
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1836
+The utility presents various sources of information that
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1837
 the RDS kernel module maintains.  When run without any optional arguments
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1838
-.Nm
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1839
 will output all the information it knows of.  When options are specified then
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1840
 only the information associated with those options is displayed.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1841
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1842
 The options are as follows:
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1843
-.Bl -tag -width Ds
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1844
-.It Fl v
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1845
+.SH OPTIONS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1846
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1847
+.TP 7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1848
+\fB\-v
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1849
 Requests verbose output. When this option is given, some classes of information
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1850
 will display additional data.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1851
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1852
-.It Fl c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1853
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1854
+\fB\-c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1855
 Display global counters.  Each counter increments as its event
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1856
 occurs.  The counters may not be reset.  The set of supported counters
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1857
 may change over time.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1858
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1859
-.Bl -tag -width 4
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1860
-.It CounterName
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1861
+.IP	CounterName
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1862
 The name of the counter.  These names come from the kernel and can change
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1863
 depending on the capability of the kernel module.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1864
-.It Value
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1865
+.IP 	Value
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1866
 The number of times that the counter has been incremented since the kernel
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1867
 module was loaded.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1868
-.El
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1869
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1870
-.It Fl k
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1871
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1872
+\fB\-k\fR
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1873
 Display all the RDS sockets in the system.  There will always be one socket
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1874
 listed that is neither bound to nor connected to any addresses because
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1875
-.Nm
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1876
 itself uses an unbound socket to collect information.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1877
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1878
-.Bl -tag -width 4
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1879
-.It BoundAddr, BPort
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1880
+.IP	BoundAddr, BPort
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1881
 The IP address and port that the socket is bound to.  0.0.0.0 0 indicates that
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1882
 the socket has not been bound.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1883
-.It ConnAddr, CPort
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1884
+.IP	ConnAddr, CPort
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1885
 The IP address and port that the socket is connected to.  0.0.0.0 0 indicates
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1886
 that the socket has not been connected.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1887
-.It SndBuf, RcvBuf
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1888
+.IP	SndBuf, RcvBuf
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1889
 The number of bytes of message payload which can be queued for sending or
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1890
 receiving on the socket, respectively.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1891
-.It Inode
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1892
+.IP	Inode
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1893
 The number of the inode object associated with the socket. Can be used to
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1894
 locate the process owning a given socket by searching /proc/*/fd for
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1895
 open files referencing a socket with this inode number.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1896
-.El
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1897
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1898
-.It Fl n
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1899
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1900
+\fB\-n\fR
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1901
 Display all RDS connections.  RDS connections are maintained between
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1902
 nodes by transports.  
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1903
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1904
-.Bl -tag -width 4
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1905
-.It LocalAddr
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1906
+.IP	LocalAddr
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1907
 The IP address of this node.  For connections that originate and terminate on
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1908
 the same node the local address indicates which address initiated the
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1909
 connection establishment.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1910
-.It RemoteAddr
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1911
+.IP	RemoteAddr
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1912
 The IP address of the remote end of the connection.  
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1913
-.It NextTX
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1914
+.IP	Tos
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1915
+The type of service value for this connection.
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1916
+.IP	NextTX
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1917
 The sequence number that will be given to the next message that is sent
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1918
 over the connection.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1919
-.It NextRX
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1920
+.IP	NextRX
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1921
 The sequence number that is expected from the next message to arrive over
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1922
 the connection.  Any incoming messages with sequence numbers less than this
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1923
 will be dropped.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1924
-.It Flg
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1925
+.IP	Flg
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1926
 Flags which indicate the state of the connection. 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1927
-.Bl -tag -width 4
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1928
-.It s
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1929
-A process is currently sending a message down the connection.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1930
-.It c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1931
-The transport is attempting to connect to the remote address.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1932
-.It C
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1933
-The connection to the remote host is connected and active.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1934
-.El
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1935
-.El
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1936
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1937
-.It Fl r, Fl s, Fl t
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1938
+.IP 		s
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1939
+	A process is currently sending a message down
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1940
+	the connection.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1941
+.IP 		c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1942
+	The transport is attempting to connect to the
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1943
+	remote address.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1944
+.IP 		C
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1945
+	The connection to the remote host is connected
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1946
+	and active.
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1947
+.IP 		E
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1948
+	The connection to the remote host is in error.
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1949
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1950
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1951
+\fB\-r\fR, \fB\-s\fR, \fB\-t\fR
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1952
 Display the messages in the receive, send, or retransmit queues respectively.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1953
-.Bl -tag -width 4
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1954
-.It LocalAddr, LPort
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1955
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1956
+.IP	LocalAddr, LPort
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1957
 The local IP address and port on this node associated with the message. For
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1958
 sent messages this is the source address, for receive messages it is the
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1959
 destination address.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1960
-.It RemoteAddr, RPort
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1961
+.IP	RemoteAddr, RPort
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1962
 The remote IP address and port associated with the message. For sent messages
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1963
 this is the destination address, for receive messages it is the source address.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1964
-.It Seq
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1965
+.IP	Tos
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1966
+The type of service for this message.
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1967
+.IP	Seq
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1968
 The sequence number of the message.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1969
-.It Bytes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1970
+.IP	Bytes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1971
 The number of bytes in the message payload.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1972
-.El
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1973
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1974
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1975
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1976
 The following information sources are dependent on specific transports which
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1977
 may not always be available. 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1978
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1979
-.It Fl I
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1980
+.TP 7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1981
+\fB\-I\fR
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1982
 Display the IB connections which the IB transport is using to provide
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1983
 RDS connections.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1984
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1985
-.Bl -tag -width 4
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1986
-.It LocalAddr
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1987
+.IP	LocalAddr
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1988
 The local IP address of this connection.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1989
-.It RemoteAddr
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1990
+.IP	RemoteAddr
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1991
 The remote IP address of this connection.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1992
-.It LocalDev
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1993
+.IP	Tos
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1994
+The type of service value for this connection.
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1995
+.IP	SL
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  1996
+The QoS Service Level for this connection.
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1997
+.IP	LocalDev
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1998
 The local IB Global Identifier, printed in IPv6 address syntax.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  1999
-.It RemoteDev
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2000
+.IP	RemoteDev
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2001
 The remote IB Global Identifier, printed in IPv6 address syntax.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2002
-.El
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2003
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2004
 If verbose output is requested, per-connection settings such as the
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2005
 maximum number of send and receive work requests will be displayed
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2006
 in addition.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2007
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2008
-.It Fl T
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2009
+.TP 7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2010
+\fB\-T\fR
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2011
 Display the TCP sockets which the TCP transport is using to provide
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2012
 RDS connections.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2013
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2014
-.Bl -tag -width 4
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2015
-.It LocalAddr, LPort
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2016
+.IP	LocalAddr, LPort
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2017
 The local IP address and port of this socket.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2018
-.It RemoteAddr, RPort
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2019
+.IP	RemoteAddr, RPort
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2020
 The remote IP address and port that this socket is connected to.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2021
-.It HdrRemain
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2022
+.IP	HdrRemain
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2023
 The number of bytes that must be read off the socket to complete the next
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2024
 full RDS header.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2025
-.It DataRemain
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2026
+.IP	DataRemain
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2027
 The number of bytes that must be read off the socket to complete the data
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2028
 payload of the message which is being received.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2029
-.It SentNxt
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2030
+.IP	SentNxt
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2031
 The TCP sequence number of the first byte of the last message that we sent
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2032
 down the connection.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2033
-.It ExpectedUna
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2034
+.IP	ExpectedUna
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2035
 The TCP sequence number of the byte past the last byte of the last message
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2036
 that we sent down the connection.  When we see that the remote side has
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2037
 acked up to this byte then we know that the remote side has received all
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2038
 our RDS messages.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2039
-.It SeenUna
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2040
+.IP	SeenUna
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2041
 The TCP sequence number of the byte past the last byte which has been
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2042
 acked by the remote host.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2043
-.El
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2044
-
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2045
-.El
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2046
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2047
diff -r -u /tmp/rds-tools-2.0.4/rds-ping.1 rds-tools-2.0.7/rds-ping.1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2048
--- /tmp/rds-tools-2.0.4/rds-ping.1	Wed Aug  4 15:25:11 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2049
+++ rds-tools-2.0.7/rds-ping.1	Thu Feb 24 13:27:52 2011
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2050
@@ -1,69 +1,63 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2051
-.Dd Apr 22, 2008
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2052
-.Dt RDS-PING 1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2053
-.Os
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2054
-.Sh NAME
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2055
-.Nm rds-ping
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2056
-.Nd test reachability of remote node over RDS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2057
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2058
-.Sh SYNOPSIS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2059
-.Nm rds-ping
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2060
-.Bk -words
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2061
-.Op Fl c Ar count
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2062
-.Op Fl i Ar interval
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2063
-.Op Fl I Ar local_addr
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2064
-.Ar remote_addr
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2065
+.TH RDS-PING 1 "Apr 22, 2008"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2066
+.SH NAME
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2067
+rds-ping - test reachability of remote node over RDS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2068
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2069
-.Sh DESCRIPTION
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2070
-.Nm rds-ping
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2071
-is used to test whether a remote node is reachable over RDS.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2072
-Its interface is designed to operate pretty much the standard
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2073
-.Xr ping 8
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2074
+.SH SYNOPSIS
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2075
+.HP
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2076
+.nf
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2077
+rds-ping [-c count] [-Q tos] [-i interval] [-I local_addr]
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2078
+    remote_addr
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2079
+.fi
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2080
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2081
+.SH DESCRIPTION
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2082
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2083
+rds-ping is used to test whether a remote node is reachable over RDS.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2084
+Its interface is designed to operate pretty much the standard ping(1M) 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2085
 utility, even though the way it works is pretty different.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2086
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2087
-.Nm rds-ping
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2088
-opens several RDS sockets and sends packets to port 0 on
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2089
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2090
+rds-ping opens several RDS sockets and sends packets to port 0 on
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2091
 the indicated host. This is a special port number to which
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2092
 no socket is bound; instead, the kernel processes incoming
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2093
 packets and responds to them.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2094
-.Sh OPTIONS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2095
+.SH OPTIONS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2096
 The following options are available for use on the command line:
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2097
-.Bl -tag -width Ds
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2098
-.It Fl c Ar count
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2099
-Causes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2100
-.Nm rds-ping
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2101
-to exit after sending (and receiving) the specified number of
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2102
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2103
+.TP 7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2104
+\fB\-c count
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2105
+Causes rds-ping to exit after sending (and receiving) the specified number of
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2106
 packets.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2107
-.It Fl I Ar address
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2108
-By default,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2109
-.Nm rds-ping
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2110
-will pick the local source address for the RDS socket based
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2111
+.TP
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2112
+\fB\-Q tos
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2113
+By default, rds-ping sends the ping requests on base (tos = 0) RDS connection.
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2114
+With this option, the requests are sent on RDS connection with the specified tos
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2115
+value.  Valid values are 0-255.
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2116
+.TP
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2117
+\fB\-I address
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2118
+By default, rds-ping will pick the local source address for the RDS socket based
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2119
 on routing information for the destination address (i.e. if
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2120
 packets to the given destination would be routed through interface
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2121
-.Nm ib0 ,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2122
+ib0 ,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2123
 then it will use the IP address of
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2124
-.Nm ib0
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2125
+ib0
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2126
 as source address).
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2127
 Using the
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2128
 .Fl I
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2129
 option, you can override this choice.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2130
-.It Fl i Ar timeout
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2131
-By default,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2132
-.Nm rds-ping
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2133
-will wait for one second between sending packets. Use this option
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2134
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2135
+\fB\-i timeout
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2136
+By default, rds-ping will wait for one second between sending packets. Use this option
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2137
 to specified a different interval. The timeout value is given in
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2138
 seconds, and can be a floating point number. Optionally, append
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2139
-.Nm msec
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2140
+msec
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2141
 or
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2142
-.Nm usec
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2143
+usec
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2144
 to specify a timeout in milliseconds or microseconds, respectively.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2145
-.It
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2146
+.IP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2147
 Specifying a timeout considerably smaller than the packet round-trip
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2148
 time will produce unexpected results.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2149
-.El
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2150
-.Sh AUTHORS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2151
-.Nm rds-ping
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2152
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2153
+.SH AUTHORS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2154
+rds-ping
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2155
 was written by Olaf Kirch <[email protected]>.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2156
-.Sh SEE ALSO
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2157
-.Xr rds 7 ,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2158
-.Xr rds-info 1 ,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2159
-.Xr rds-stress 1 .
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2160
+.S~ SEE ALSO
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2161
+rds 7, rds-info 1, rds-stress 1.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2162
diff -r -u /tmp/rds-tools-2.0.4/configure.in rds-tools-2.0.7/configure.in
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2163
--- /tmp/rds-tools-2.0.4/configure.in	Wed Aug  4 15:25:11 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2164
+++ rds-tools-2.0.7/configure.in	Thu Feb 24 13:27:51 2011
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2165
@@ -1,7 +1,7 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2166
 AC_PREREQ(2.55)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2167
 AC_INIT()
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2168
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2169
-VERSION=2.0.4
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2170
+VERSION=2.0.7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2171
 RELEASE=1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2172
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2173
 AC_SUBST(VERSION)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2174
diff -r -u /tmp/rds-tools-2.0.4/rds-ping.c rds-tools-2.0.7/rds-ping.c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2175
--- /tmp/rds-tools-2.0.4/rds-ping.c	Wed Aug  4 15:25:10 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2176
+++ rds-tools-2.0.7/rds-ping.c	Thu Feb 24 13:27:52 2011
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2177
@@ -48,7 +48,12 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2178
 #include <sys/poll.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2179
 #include <fcntl.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2180
 #include <getopt.h>
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2181
+#include <sys/ioctl.h>
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2182
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2183
+#include <sys/rds.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2184
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2185
 #include "rds.h"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2186
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2187
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2188
 #include "pfhack.h"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2189
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2190
@@ -67,6 +72,7 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2191
 static unsigned long	opt_count;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2192
 static struct in_addr	opt_srcaddr;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2193
 static struct in_addr	opt_dstaddr;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2194
+static uint8_t		opt_tos = 0;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2195
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2196
 /* For reasons of simplicity, RDS ping does not use a packet
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2197
  * payload that is being echoed, the way ICMP does.
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2198
@@ -91,6 +97,7 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2199
 static int	parse_timeval(const char *, struct timeval *);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2200
 static int	parse_long(const char *ptr, unsigned long *);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2201
 static int	parse_addr(const char *ptr, struct in_addr *);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2202
+static unsigned long long	parse_ull(char *ptr, unsigned long long max);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2203
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2204
 int
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2205
 main(int argc, char **argv)
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2206
@@ -97,7 +104,7 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2207
 {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2208
 	int c;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2209
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2210
-	while ((c = getopt(argc, argv, "c:i:I:")) != -1) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2211
+	while ((c = getopt(argc, argv, "c:i:I:Q:")) != -1) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2212
 		switch (c) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2213
 		case 'c':
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2214
 			if (!parse_long(optarg, &opt_count))
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2215
@@ -114,6 +121,9 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2216
 				die("Bad wait time <%s>\n", optarg);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2217
 			break;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2218
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2219
+		case 'Q':
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2220
+			opt_tos = parse_ull(optarg, 255);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2221
+			break;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2222
 		default:
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2223
 			usage("Unknown option");
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2224
 		}
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2225
@@ -142,6 +152,9 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2226
 	struct timeval	next_ts;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2227
 	struct socket	socket[NSOCKETS];
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2228
 	struct pollfd	pfd[NSOCKETS];
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2229
+#if !(defined(__SVR4) && defined(__sun))
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2230
+	int             pending[NSOCKETS];
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2231
+#endif
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2232
 	int		i, next = 0;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2233
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2234
 	for (i = 0; i < NSOCKETS; ++i) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2235
@@ -152,10 +165,18 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2236
 		socket[i].fd = fd;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2237
 		pfd[i].fd = fd;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2238
 		pfd[i].events = POLLIN;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2239
+#if !(defined(__SVR4) && defined(__sun))
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2240
+		pending[i] = 0;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2241
+#endif
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2242
 	}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2243
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2244
 	memset(&sin, 0, sizeof(sin));
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2245
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2246
+	sin.sin_family = AF_INET_OFFLOAD;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2247
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2248
 	sin.sin_family = AF_INET;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2249
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2250
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2251
 	sin.sin_addr = opt_dstaddr;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2252
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2253
 	gettimeofday(&next_ts, NULL);
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2254
@@ -180,14 +201,32 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2255
 			if (opt_count && sent >= opt_count)
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2256
 				break;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2257
 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2258
-			timeradd(&next_ts, &opt_wait, &next_ts);
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2259
-			if (sendto(sp->fd, NULL, 0, 0, (struct sockaddr *) &sin, sizeof(sin)))
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2260
-				err = errno;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2261
-			sp->sent_id = ++sent;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2262
-			sp->sent_ts = now;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2263
-			sp->nreplies = 0;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2264
-			next = (next + 1) % NSOCKETS;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2265
+			timeradd(&now, &opt_wait, &next_ts);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2266
+#if !(defined(__SVR4) && defined(__sun))
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2267
+			if (!pending[next]) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2268
+#endif
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2269
+				memset(&sin, 0, sizeof(sin));
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2270
+#if defined(__SVR4) && defined(__sun)
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2271
+				sin.sin_family = AF_INET_OFFLOAD;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2272
+#else
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2273
+				sin.sin_family = AF_INET;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2274
+#endif
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2275
+				sin.sin_addr = opt_dstaddr;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2276
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2277
+				if (sendto(sp->fd, NULL, 0, 0, (struct sockaddr *) &sin, sizeof(sin)) < 0)
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2278
+					err = errno;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2279
+				sp->sent_id = ++sent;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2280
+				sp->sent_ts = now;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2281
+				sp->nreplies = 0;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2282
+#if !(defined(__SVR4) && defined(__sun))
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2283
+				if (!err)
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2284
+					pending[next] = 1;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2285
+#endif
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2286
+				next = (next + 1) % NSOCKETS;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2287
+#if !(defined(__SVR4) && defined(__sun))
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2288
+			}
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2289
+#endif
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2290
+
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2291
 			if (err) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2292
 				static unsigned int nerrs = 0;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2293
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2294
@@ -223,6 +262,9 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2295
 					report_packet(sp, &now, NULL, errno);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2296
 			} else {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2297
 				report_packet(sp, &now, &from.sin_addr, 0);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2298
+#if !(defined(__SVR4) && defined(__sun))
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2299
+				pending[i] = 0;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2300
+#endif
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2301
 				recv++;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2302
 			}
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2303
 		}
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2304
@@ -258,7 +300,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2305
 	int pf;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2306
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2307
 	memset(&sin, 0, sizeof(sin));
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2308
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2309
+	sin.sin_family = AF_INET_OFFLOAD;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2310
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2311
 	sin.sin_family = AF_INET;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2312
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2313
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2314
 #ifdef DYNAMIC_PF_RDS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2315
         pf = discover_pf_rds();
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2316
@@ -278,6 +324,9 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2317
 		if (ufd < 0)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2318
 			die_errno("unable to create UDP socket");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2319
 		sin.sin_addr = *dst;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2320
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2321
+		sin.sin_family = AF_INET;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2322
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2323
 		sin.sin_port = htons(1);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2324
 		if (connect(ufd, (struct sockaddr *) &sin, sizeof(sin)) < 0)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2325
 			die_errno("unable to connect to %s",
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2326
@@ -289,6 +338,9 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2327
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2328
 		*src = sin.sin_addr;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2329
 		close(ufd);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2330
+#if defined(__SVR4) && defined(__sun)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2331
+		sin.sin_family = AF_INET_OFFLOAD;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2332
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2333
 	}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2334
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2335
 	sin.sin_addr = *src;
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2336
@@ -297,6 +349,9 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2337
 	if (bind(fd, (struct sockaddr *) &sin, sizeof(sin)))
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2338
 		die_errno("bind() failed");
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2339
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2340
+	if (opt_tos && ioctl(fd, SIOCRDSSETTOS, &opt_tos)) 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2341
+		die_errno("ERROR: failed to set TOS\n");
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2342
+
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2343
 	return fd;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2344
 }
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2345
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2346
@@ -309,7 +364,8 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2347
 		"%s\nUsage: rds-ping [options] dst_addr\n"
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2348
 		"Options:\n"
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2349
 		" -c count      limit packet count\n"
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2350
-		" -I interface  source IP address\n",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2351
+		" -I interface  source IP address\n"
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2352
+		" -Q tos	type of service\n",
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2353
 		complaint);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2354
 	exit(1);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2355
 }
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2356
@@ -384,3 +440,31 @@
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2357
 	return 0;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2358
 }
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2359
 
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2360
+static unsigned long long parse_ull(char *ptr, unsigned long long max)
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2361
+{
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2362
+	unsigned long long val;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2363
+	char *endptr;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2364
+
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2365
+	val = strtoull(ptr, &endptr, 0);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2366
+	switch (*endptr) {
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2367
+	case 'k': case 'K':
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2368
+		val <<= 10;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2369
+		endptr++;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2370
+		break;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2371
+
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2372
+	case 'm': case 'M':
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2373
+		val <<= 20;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2374
+		endptr++;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2375
+		break;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2376
+
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2377
+	case 'g': case 'G':
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2378
+		val <<= 30;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2379
+		endptr++;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2380
+		break;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2381
+	}
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2382
+
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2383
+	if (*ptr && !*endptr && val <= max)
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2384
+		return val;
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2385
+
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2386
+	die("invalid number '%s'\n", ptr);
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2387
+}
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2388
diff -r -u /tmp/rds-tools-2.0.4/Makefile.in rds-tools-2.0.7/Makefile.in
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2389
--- /tmp/rds-tools-2.0.4/Makefile.in	Wed Aug  4 15:25:11 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2390
+++ rds-tools-2.0.7/Makefile.in	Thu Feb 24 13:27:51 2011
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  2391
@@ -4,18 +4,22 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2392
 mandir		= $(DESTDIR)@mandir@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2393
 incdir		= $(DESTDIR)@includedir@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2394
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2395
+CC=gcc
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2396
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2397
 all: all-programs
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2398
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2399
-CFLAGS = -O2 -Wall -Iinclude
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2400
-CPPFLAGS = -DDEBUG_EXE -DRDS_VERSION=\"@VERSION@\" -MD -MP -MF $(@D)/.$(basename $(@F)).d
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2401
+CFLAGS += -O2 -Wall -Iinclude
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2402
+CPPFLAGS += -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ \
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2403
+	-DDEBUG_EXE -DRDS_VERSION=\"@VERSION@\" -MD -MP -MF $(@D)/.$(basename $(@F)).d
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  2404
+LDFLAGS += -libverbs -lsocket -lnsl -llgrp
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2405
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2406
 HEADERS = kernel-list.h pfhack.h include/rds.h
715
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  2407
-COMMON_SOURCES = pfhack.c
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  2408
+COMMON_SOURCES = pfhack.c rds-vendor.c
eed3ed08f692 6926434 ib_read_bw, ib_read_lat: OFED utilities sometimes hang when using "-e" (event) flag
Boris Chiu <Boris.Chiu@oracle.COM>
parents: 369
diff changeset
  2409
 SOURCES = $(addsuffix .c,$(PROGRAMS)) $(COMMON_SOURCES)
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2410
 CLEAN_OBJECTS = $(addsuffix .o,$(PROGRAMS)) $(subst .c,.o,$(COMMON_SOURCES))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2411
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2412
 # This is the default
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2413
-DYNAMIC_PF_RDS = true
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2414
+#DYNAMIC_PF_RDS = true
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2415
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2416
 ifneq ($(DYNAMIC_PF_RDS),)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2417
 CPPFLAGS += -DDYNAMIC_PF_RDS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2418
@@ -29,14 +33,14 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2419
 all-programs: $(PROGRAMS)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2420
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2421
 install: $(PROGRAMS)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2422
-	install -d $(bindir)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2423
-	install -m 555 -s $(PROGRAMS) $(bindir)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2424
-	install -d $(mandir)/man1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2425
-	install -d $(mandir)/man7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2426
-	install -m 644 *.1 $(mandir)/man1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2427
-	install -m 644 *.7 $(mandir)/man7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2428
-	install -d $(incdir)/net
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2429
-	install -m 444 include/rds.h $(incdir)/net
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2430
+	$(INSTALL) -d $(bindir)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2431
+	$(INSTALL) -m 755 -s $(PROGRAMS) $(bindir)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2432
+	$(INSTALL) -d $(mandir)/man1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2433
+	$(INSTALL) -d $(mandir)/man7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2434
+	$(INSTALL) -m 644 *.1 $(mandir)/man1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2435
+	$(INSTALL) -m 644 *.7 $(mandir)/man7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2436
+	$(INSTALL) -d $(incdir)/net
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2437
+	$(INSTALL) -m 444 include/rds.h $(incdir)/net
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2438
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2439
 clean:
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2440
 	rm -f $(PROGRAMS) $(CLEAN_OBJECTS)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2441
@@ -47,7 +51,7 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2442
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2443
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2444
 $(PROGRAMS) : % : %.o $(COMMON_OBJECTS)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2445
-	gcc $(CFLAGS) $(LDFLAGS) -o $@ $^
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2446
+	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2447
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2448
 LOCAL_DFILES := $(wildcard .*.d)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2449
 ifneq ($(LOCAL_DFILES),)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2450
@@ -72,8 +76,6 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2451
 		configure \
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2452
 		README \
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2453
 		rds-tools.txt \
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2454
-		stap/rds.stp \
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2455
-		stap/README \
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2456
 		docs/rds-architecture.txt \
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2457
 		examples/Makefile \
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2458
 		examples/rds-sample.c \
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2459
diff -r -u /tmp/rds-tools-2.0.4/examples/rds-sample.c rds-tools-2.0.7/examples/rds-sample.c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2460
--- /tmp/rds-tools-2.0.4/examples/rds-sample.c	Wed Aug  4 15:25:11 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2461
+++ rds-tools-2.0.7/examples/rds-sample.c	Thu Feb 24 13:27:53 2011
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2462
@@ -26,6 +26,7 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2463
 #include <string.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2464
 #include <stdlib.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2465
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2466
+#if !(defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2467
 /* FIXME - this is a hack to getaround RDS not exporting any header files.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2468
  * This is a local copy of the file found at net/rds/
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2469
  */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2470
@@ -33,6 +34,9 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2471
 /* These are defined in rds.h....but that file is not happily included */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2472
 #define SOL_RDS		272
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2473
 #define PF_RDS		28
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2474
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2475
+#include <sys/rds.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2476
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2477
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2478
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2479
 #define TESTPORT	4000
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2480
@@ -107,12 +111,12 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2481
 	cmsg->cmsg_type = RDS_CMSG_RDMA_ARGS;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2482
 	cmsg->cmsg_len = CMSG_LEN(sizeof(struct rds_rdma_args));
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2483
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2484
-	iov.addr = (uint64_t) buf;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2485
+	iov.addr = (uint64_t)(uintptr_t)buf;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2486
 	iov.bytes = sizeof(struct rdss_message);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2487
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2488
 	args->remote_vec.addr = 0;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2489
 	args->remote_vec.bytes = sizeof(struct rdss_message);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2490
-	args->local_vec_addr = (uint64_t) &iov;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2491
+	args->local_vec_addr = (uint64_t)(uintptr_t)&iov;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2492
 	args->nr_local = 1;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2493
 	args->flags = remote_flags ? (RDS_RDMA_READWRITE | RDS_RDMA_FENCE) : 0;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2494
 	args->flags |= RDS_RDMA_NOTIFY_ME;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2495
@@ -244,9 +248,9 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2496
 	void *ctlbuf;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2497
 	struct iovec *iov;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2498
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2499
-	mr_args.vec.addr = (uint64_t) buf;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2500
+	mr_args.vec.addr = (uint64_t)(uintptr_t)buf;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2501
 	mr_args.vec.bytes = sizeof(struct rdss_message);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2502
-	mr_args.cookie_addr = (uint64_t) cookie;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2503
+	mr_args.cookie_addr = (uint64_t)(uintptr_t)cookie;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2504
 	mr_args.flags = RDS_RDMA_USE_ONCE;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2505
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2506
 	ctlbuf = calloc(1, CMSG_SPACE(sizeof(mr_args)));
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2507
diff -r -u /tmp/rds-tools-2.0.4/examples/Makefile rds-tools-2.0.7/examples/Makefile
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2508
--- /tmp/rds-tools-2.0.4/examples/Makefile	Wed Aug  4 15:25:11 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2509
+++ rds-tools-2.0.7/examples/Makefile	Thu Feb 24 13:27:52 2011
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2510
@@ -1,6 +1,12 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2511
+CC=gcc
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2512
+LIBS = -lsocket -lnsl
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2513
+CPPFLAGS += -D_XOPEN_SOURCE=500 -D__EXTENSIONS__
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2514
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2515
 all: rds-sample
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2516
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2517
-rds-sample: rds-sample.o
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2518
+rds-sample: rds-sample.c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2519
+	$(CC) $(CPPFLAGS) $(CFLAGS) -o rds-sample rds-sample.c $(LIBS)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2520
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2521
-CFLAGS = -I ../include
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2522
+clean:
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2523
+	rm -rf rds-sample
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2524
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2525
diff -r -u /tmp/rds-tools-2.0.4/configure rds-tools-2.0.7/configure
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2526
--- /tmp/rds-tools-2.0.4/configure	Wed Aug  4 15:25:11 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2527
+++ rds-tools-2.0.7/configure	Thu Feb 24 13:27:51 2011
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2528
@@ -1215,7 +1215,7 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2529
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2530
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2531
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2532
-VERSION=2.0.4
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2533
+VERSION=2.0.7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2534
 RELEASE=1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2535
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2536
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2537
diff -r -u /tmp/rds-tools-2.0.4/rds-stress.1 rds-tools-2.0.7/rds-stress.1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2538
--- /tmp/rds-tools-2.0.4/rds-stress.1	Wed Aug  4 15:25:11 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2539
+++ rds-tools-2.0.7/rds-stress.1	Thu Feb 24 13:27:52 2011
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  2540
@@ -1,99 +1,106 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2541
-.Dd May 15, 2007
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2542
-.Dt RDS-STRESS 1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2543
-.Os
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2544
-.Sh NAME
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2545
-.Nm rds-stress
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2546
-.Nd send messages between processes over RDS sockets
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2547
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2548
-.Sh SYNOPSIS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2549
-.Nm rds-stress
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2550
-.Bk -words
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2551
-.Op Fl p Ar port_number
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2552
-.Op Fl r Ar receive_address
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2553
-.Op Fl s Ar send_address
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2554
-.Op Fl a Ar ack_bytes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2555
-.Op Fl q Ar request_bytes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2556
-.Op Fl D Ar rdma_bytes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2557
-.Op Fl d Ar queue_depth
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2558
-.Op Fl t Ar nr_tasks
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2559
-.Op Fl c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2560
-.Op Fl R
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2561
-.Op Fl V
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2562
-.Op Fl v
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2563
+.TH RDS-STRESS 1 " May 15, 2007"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2564
+.SH "NAME"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2565
+rds-stress - send messages between processes over RDS sockets
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2566
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2567
+.SH SYNOPSIS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2568
+.HP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2569
+.nf
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2570
+rds-stress [-p port_number] -r [receive_address] [-s send_address]
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  2571
+      [-Q tos] [-a ack_bytes] [-q request_bytes] [-D rdma_bytes]
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2572
+      [-d queue_depth] [-t nr_tasks] [-T time] [-c] [-R] [-V] [-v]
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2573
+.fi
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2574
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2575
-.Sh DESCRIPTION
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2576
-.Nm rds-stress
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2577
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2578
+.SH DESCRIPTION
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2579
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2580
+.Nm
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2581
+rds-stress
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2582
 sends messages between groups tasks, usually running on seperate
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2583
 machines.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2584
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2585
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2586
 First a passive receiving instance is started.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2587
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2588
-.Dl $ rds-stress
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2589
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2590
+.RS 12
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2591
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2592
+	$ rds-stress
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2593
+.RE
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2594
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2595
 Then an active sending instance is started, giving it
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2596
 the address and port at which it will find a listening
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2597
 passive receiver.  In addition, it is given configuration options which
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2598
 both instances will use.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2599
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2600
-.Dl $ rds-stress -s recvhost -p 4000 -t 1 -d 1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2601
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2602
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2603
+.RS 12
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2604
+	$ rds-stress -s recvhost -p 4000 -t 1 -d 1
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2605
+.RE
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2606
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2607
 The active sender will parse the options, connect to the passive receiver, and
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2608
 send the options over this connection.  From this point on both instances
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2609
 exhibit the exact same behaviour.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2610
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2611
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2612
 They will create a number of child tasks as specified by the -t option.  Once
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2613
 the children are created the parent sleeps for a second at a time, printing a
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2614
 summary of statistics at each interval. 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2615
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2616
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2617
 Each child will open an RDS socket, each binding to a port number in order
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2618
 after the port number given on the command line.  The first child would bind to
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2619
 port 4001 in our example.  Each child sets the send and receive buffers to
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2620
 exactly fit the number of messages, requests and acks, that will be in flight
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2621
 as determind by the command line arguments.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2622
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2623
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2624
 The children then enter their loop.  They will keep a number of sent messages
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2625
 outstanding as specified by the -d option.  When they reach this limit they
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2626
 will wait to receive acks which will allow them to send again.  As they receive
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2627
 messages from their peers they immediately send acks.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2628
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2629
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2630
 Every second, the parent process will display statistics of the ongoing
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2631
 stress test. The output is described in section OUTPUT below.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2632
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2633
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2634
 If the -T option is given, the test will terminate after the specified time,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2635
 and a summary is printed.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2636
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2637
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2638
 Each child maintains outstanding messages to all other children of the other instance.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2639
 They do not send to their siblings.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2640
-.Sh OPTIONS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2641
+.SH OPTIONS
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2642
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2643
 The following options are available for use on the command line:
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2644
-.Bl -tag -width Ds
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2645
-.It Fl p Ar port_number
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2646
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2647
+.TP 7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2648
+\fB\-p  port_number
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2649
 Each parent binds a TCP socket to this port number and their respective
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2650
 address.  They will trade the negotiated options over this socket.  Each
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2651
 child will bind an RDS socket to the range of ports immediately following
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2652
 this port number, for as many children as there are.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2653
-.It Fl s Ar send_address
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2654
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2655
+\fB\-s send_address
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2656
 A connection attempt is made to this address.  Once its complete and the
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2657
 options are sent over it then children will be created and work will proceed.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2658
-.It Fl r Ar receive_address
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2659
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2660
+\fB\-r receive_address
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2661
 This specifies the address that messages will be sent from.  If -s is not
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2662
 specified then rds-stress waits for a connection on this address before
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2663
 proceeding.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2664
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2665
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2666
 If this option is not given, rds-stress will choose an appropriate address.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2667
 The passive process will accept connections on all local interfaces, and
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2668
 obtain the address once the control connection is established.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2669
 The active process will choose a local address based on the interface through
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2670
 which it connects to the destination address.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2671
-.It Fl a Ar ack_bytes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2672
+.TP
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  2673
+\fB\-Q tos
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  2674
+Uses the RDS connection between IP addresses with the specified tos value. By 
1513
594764ea1267 17489343 Update solaris rds-tools to 2.0.7-1.12
Boris Chiu <boris.chiu@oracle.com>
parents: 1455
diff changeset
  2675
+default, the base (tos = 0) RDS connection is used.  Valid values are 0-255.
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  2676
+.TP
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2677
+\fB\-a ack_bytes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2678
 This specifies the size of the ack messages, in bytes. There is a minimum size
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2679
 which depends on the format of the ack messages, which may change over time.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2680
 See section "Message Sizes" below.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2681
-.It Fl q Ar request_bytes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2682
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2683
+\fB\-q request_bytes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2684
 This specifies the size of the request messages, in bytes.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2685
 It also has a minimum size which may change over time.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2686
 See section "Message Sizes" below.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2687
-.It Fl D Ar rdma_bytes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2688
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2689
+\fB\-D rdma_bytes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2690
 RDSv3 is capable of transmitting part of a message via RDMA directly from
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2691
 application buffer to application buffer. This option enables RDMA support
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2692
 in rds-stress: request packets include parameters for an RDMA READ or WRITE
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  2693
@@ -100,20 +107,25 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2694
 operation, which the receiving process executes at the time the ACK packet
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2695
 is sent.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2696
 See section "Message Sizes" below.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2697
-.It Fl d Ar queue_depth
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2698
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2699
+\fB\-d queue_depth
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2700
 Each child will try to maintain this many sent messages outstanding to each
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2701
 of its peers on the remote address.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2702
-.It Fl t Ar nr_tasks
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2703
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2704
+\fB\-t nr_tasks
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2705
 Each parent will create this many children tasks.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2706
-.It Fl T Ar seconds
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2707
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2708
+\fB\-T seconds
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2709
 Specify the duration of the test run. After the specified number of seconds,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2710
 all processes on both ends of the connection will terminate, and the
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2711
 active instance will print a summary. By default, rds-stress will keep
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2712
 on sending and receiving messages.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2713
-.It Fl z
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2714
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2715
+\fB\-z
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2716
 This flag can be used in conjunction with -T. It suppresses the ongoing
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2717
 display of statistics, and prints a summary only.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2718
-.It Fl c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2719
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2720
+\fB\-c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2721
 This causes rds-stress to create child tasks which just consume CPU cycles.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2722
 One task is created for each CPU in the system.  First each child observes the
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2723
 maximum rate at which it can consume cycles.  This means that this option
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  2724
@@ -121,50 +133,67 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2725
 use of the system by observing the lesser rate at which the children consume
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2726
 cycles.  This option is *not* shared between the active and passive instances.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2727
 It must be specified on each rds-stress command line.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2728
-.It Fl R
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2729
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2730
+\fB\-R
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2731
 This tells the rds-stress parent process to run with SCHED_RR priority,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2732
 giving it precedence over the child processes. This is useful when running
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2733
 with lots of tasks, where there is a risk of the child processes starving
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2734
 the parent, and skewing the results.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2735
-.It Fl v
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2736
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2737
+\fB\-v
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2738
 With this option enabled, packets are filled with a pattern that is
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2739
 verified by the receiver. This check can help detect data corruption
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2740
 occuring under high load.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2741
-.El
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2742
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2743
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2744
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2745
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2746
-.Ss Message Sizes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2747
+.SS Message Sizes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2748
 Options which set a message size (such as -a) specify a number of bytes
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2749
 by default. By appending \fBK\fP, \fBM\fP, or \fBG\fP, you can specify the size
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2750
 in kilobytes, megabytes or gigabytes, respectively. For instance,
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2751
 the following will run rds-stress with a message and ACK size of 1024
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2752
 bytes, and an RDMA message size of 1048576 bytes:
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2753
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2754
-.Dl rds-stress ... -q 1K -a 1K -D 1M
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2755
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2756
-.Pp
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2757
-.Sh OUTPUT
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2758
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2759
+.RS 12
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2760
+rds-stress ... -q 1K -a 1K -D 1M
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2761
+.RE
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2762
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2763
+.PP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2764
+.SH OUTPUT
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2765
 Each parent outputs columns of statistics at a regular interval:
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2766
-.Bl -tag -width Ds
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2767
-.It tsks
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2768
+.TP 8
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2769
+tsks
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2770
 The number of child tasks which are running.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2771
-.It tx/s
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2772
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2773
+tx/s
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2774
 The number of sendmsg() calls that all children are executing, per second. 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2775
-.It tx+rx K/s
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2776
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2777
+rx/s
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2778
+The number of recvmsg() calls that all children are executing, per second. 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2779
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2780
+tx+rx K/s
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2781
 The total number of bytes that are flowing through sendmsg() and recvmsg() for all children.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2782
 This includes both request and ack messages.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2783
-.It rw+rr K/s
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2784
-The total number of bytes that are being transferred via RDMA READs and
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2785
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2786
+mbi K/s
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2787
+The total number of bytes that are being received via RDMA READs and
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2788
 WRITEs for all children.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2789
-.It tx us/c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2790
+.TP
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  2791
+mbo K/s
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2792
+The total number of bytes that are being transmited via RDMA READs and
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2793
+WRITEs for all children.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2794
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2795
+tx us/c
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2796
 The average number of microseconds spent in sendmsg() calls.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2797
-.It rtt us
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2798
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2799
+rtt us
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2800
 The average round trip time for a request and ack message pair.  This measures
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2801
 the total time between when a task sends a request and when it finally receives
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2802
 the ack for that message.  Because it includes the time it takes for the
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2803
 receiver to wake up, receive the message, and send an ack, it can grow to be
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2804
 quite large under load. 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2805
-.It cpu %
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2806
+.TP
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2807
+cpu %
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2808
 This is the percentage of available CPU resources on this machine that are being
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2809
 consumed since rds-stress started running.  It will show -1.00 if -c is not
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2810
 given.  It is calculated based on the amount of CPU resources that CPU soaking
1455
74681f26bd4e 15695368 SUNBT7017250 man page from rds-stress has incorect entry for rdma bytes transmi
alejandro.dos.reis@oracle.com <alejandro.dos.reis@oracle.com>
parents: 715
diff changeset
  2811
@@ -171,4 +200,3 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2812
 tasks are able to consume.  This lets it measure CPU use by the system, say in
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2813
 interrupt handlers, that task-based CPU accounting does not include.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2814
 For this to work rds-stress must be started with -c on an idle system.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2815
-.El
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2816
diff -r -u /tmp/rds-tools-2.0.4/include/rds.h rds-tools-2.0.7/include/rds.h
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2817
--- /tmp/rds-tools-2.0.4/include/rds.h	Wed Aug  4 15:25:11 2010
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2818
+++ rds-tools-2.0.7/include/rds.h	Thu Feb 24 13:30:23 2011
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2819
@@ -84,6 +84,8 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2820
 #define RDS_CMSG_CONG_UPDATE		5
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2821
 #define RDS_CMSG_ATOMIC_FADD		6
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2822
 #define RDS_CMSG_ATOMIC_CSWP		7
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2823
+#define	RDS_CMSG_MASKED_ATOMIC_FADD	8
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2824
+#define	RDS_CMSG_MASKED_ATOMIC_CSWP	9
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2825
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2826
 #define RDS_INFO_FIRST			10000
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2827
 #define RDS_INFO_COUNTERS		10000
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2828
@@ -252,8 +254,25 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2829
 	rds_rdma_cookie_t cookie;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2830
 	uint64_t 	local_addr;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2831
 	uint64_t 	remote_addr;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2832
-	uint64_t	swap_add;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2833
-	uint64_t	compare;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2834
+	union {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2835
+		struct {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2836
+			uint64_t	compare;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2837
+			uint64_t	swap;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2838
+		} cswp;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2839
+		struct {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2840
+			uint64_t	add;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2841
+		} fadd;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2842
+		struct {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2843
+			uint64_t	compare;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2844
+			uint64_t	swap;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2845
+			uint64_t	compare_mask;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2846
+			uint64_t	swap_mask;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2847
+		} m_cswp;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2848
+		struct {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2849
+			uint64_t	add;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2850
+			uint64_t	nocarry_mask;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2851
+		} m_fadd;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2852
+	};
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2853
 	u_int64_t	flags;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2854
 	u_int64_t	user_token;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2855
 };
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2856
@@ -278,5 +297,6 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2857
 #define RDS_RDMA_USE_ONCE	0x0008	/* free MR after use */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2858
 #define RDS_RDMA_DONTWAIT	0x0010	/* Don't wait in SET_BARRIER */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2859
 #define RDS_RDMA_NOTIFY_ME	0x0020	/* Notify when operation completes */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2860
+#define RDS_RDMA_SILENT		0x0040	/* Do not interrupt remote */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2861
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
  2862
 #endif /* IB_RDS_H */