components/open-fabrics/qperf/patches/001-qperf-solaris_port.patch
author pkidd <patrick.kidd@oracle.com>
Thu, 01 Dec 2016 09:15:00 -0800
branchs11u3-sru
changeset 7423 a17eef087a5e
parent 6322 c8b38df3868d
permissions -rw-r--r--
Added tag 0.175.3.15.0.4.0, S11.3SRU15.4 for changeset f2e0a2f2bfc0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
     1
#This patch was developed both in-house and from outside. We plan to submit it
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
     2
#upstream, but do not yet have a target date for doing so
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
     3
#
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
     4
# HG changeset patch
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
     5
# Parent  6728b98439b2997b8420c1b74055a7a118b2d9af
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
     6
qperf solaris specific changes.
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
     7
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
     8
diff -r 6728b98439b2 src/qperf.c
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
     9
--- a/src/qperf.c	Wed Oct 14 12:54:37 2015 -0700
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
    10
+++ b/src/qperf.c	Fri Nov 13 07:33:20 2015 -0800
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
    11
@@ -53,6 +53,16 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    12
 #include <sys/utsname.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    13
 #include "qperf.h"
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    14
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    15
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    16
+#include <sys/filio.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    17
+#include <limits.h>	/* times() */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    18
+#include <sys/types.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    19
+#include <sys/processor.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    20
+#include <sys/procset.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    21
+#include <strings.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    22
+#include <infiniband/ofa_solaris.h>
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
    23
+
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    24
+#endif
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
    25
 
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    26
 /*
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    27
  * Configurable parameters.  If your change makes this version of qperf
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    28
@@ -165,6 +175,10 @@
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    29
     char        qperf[STRSIZE];         /* Qperf version */
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    30
 } CONF;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    31
 
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    32
+char *t_bits[] ={ "bits/sec", "Kb/sec", "Mb/sec", "Gb/sec", "Tb/sec" };
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    33
+int s_bits = cardof(t_bits);
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    34
+char *t_bytes[] ={ "bytes/sec", "KB/sec", "MB/sec", "GB/sec", "TB/sec" };
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    35
+int s_bytes = cardof(t_bytes);
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    36
 
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    37
 /*
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    38
  * Function prototypes.
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    39
@@ -177,7 +191,9 @@
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    40
 static void      calc_node(RESN *resn, STAT *stat);
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    41
 static void      calc_results(void);
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    42
 static void      client(TEST *test);
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    43
+#if !(defined(__SVR4) && defined(__sun))
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    44
 static int       cmpsub(char *s2, char *s1);
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    45
+#endif
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    46
 static char     *commify(char *data);
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    47
 static void      dec_req_data(REQ *host);
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    48
 static void      dec_req_version(REQ *host);
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    49
@@ -224,7 +240,9 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    50
 static void      sig_alrm(int signo, siginfo_t *siginfo, void *ucontext);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    51
 static void      sig_quit(int signo, siginfo_t *siginfo, void *ucontext);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    52
 static void      sig_urg(int signo, siginfo_t *siginfo, void *ucontext);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    53
-static char     *skip_colon(char *s);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    54
+#if !(defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    55
+static char    *skip_colon(char *s);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    56
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    57
 static void      start_test_timer(int seconds);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    58
 static long      str_size(char *arg, char *str);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    59
 static void      strncopy(char *d, char *s, int n);
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    60
@@ -257,9 +275,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    61
 static STAT     IStat;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    62
 static int      ListenFD;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    63
 static LOOP    *Loops;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    64
+#if !(defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    65
 static int      ProcStatFD;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    66
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    67
 static STAT     RStat;
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    68
-static int      ShowIndex;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    69
+volatile static int      ShowIndex = 0;
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    70
 static SHOW     ShowTable[256];
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    71
 static int      UnifyUnits;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    72
 static int      UnifyNodes;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    73
@@ -281,7 +301,7 @@
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    74
 int          ServerAddrLen;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    75
 int          RemoteFD;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    76
 int          Debug;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    77
-volatile int Finished;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    78
+volatile int Finished = 0;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    79
 
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    80
 
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
    81
 /*
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
    82
@@ -603,6 +623,9 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    83
     initialize();
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    84
     set_signals();
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    85
     do_args(&argv[1]);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    86
+#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
    87
+    solaris_fini();
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    88
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    89
     return 0;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    90
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    91
 
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
    92
@@ -619,14 +642,19 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    93
     for (i = 0; i < P_N; ++i)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    94
         if (ParInfo[i].index != i)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    95
             error(BUG, "initialize: ParInfo: out of order: %d", i);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    96
+#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
    97
+    solaris_init();
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    98
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
    99
     ProcStatFD = open("/proc/stat", 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   100
     if (ProcStatFD < 0)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   101
         error(SYS, "cannot open /proc/stat");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   102
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   103
     IStat.no_cpus = sysconf(_SC_NPROCESSORS_ONLN);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   104
     IStat.no_ticks = sysconf(_SC_CLK_TCK);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   105
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   106
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   107
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   108
+#if !(defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   109
 /*
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   110
  * Look for a colon and skip past it and any spaces.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   111
  */
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   112
@@ -645,12 +673,14 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   113
         s++;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   114
     return s;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   115
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   116
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   117
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   118
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   119
 /*
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   120
  * A case insensitive string compare.  s2 must at least contain all of s1 but
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   121
  * can be longer.
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   122
  */
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   123
+#if !(defined(__SVR4) && defined(__sun))
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   124
 static int
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   125
 cmpsub(char *s2, char *s1)
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   126
 {
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   127
@@ -666,6 +696,7 @@
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   128
             return 0;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   129
     }
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   130
 }
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   131
+#endif
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   132
 
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   133
 
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   134
 /*
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   135
@@ -1669,13 +1700,18 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   136
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   137
     char count[STRSIZE];
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   138
     char speed[STRSIZE];
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   139
+    char cpu[BUFSIZE];
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   140
+    int cpus = 0;
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   141
+#if !(defined(__SVR4) && defined(__sun))
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   142
     char buf[BUFSIZE];
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   143
-    char cpu[BUFSIZE];
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   144
     char mhz[BUFSIZE];
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   145
-    int cpus = 0;
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   146
     int mixed = 0;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   147
     FILE *fp = fopen("/proc/cpuinfo", "r");
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   148
-
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   149
+#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
   150
+   sol_cpu_info_t	*info;
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   151
+#endif
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   152
+
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   153
+#if !(defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   154
     if (!fp)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   155
         error(0, "cannot open /proc/cpuinfo");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   156
     cpu[0] = '\0';
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   157
@@ -1734,6 +1770,7 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   158
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   159
     /* CPU speed */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   160
     speed[0] = '\0';
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   161
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   162
     if (!mixed) {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   163
         int n = strlen(cpu);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   164
         if (n < 3 || cpu[n-2] != 'H' || cpu[n-1] != 'z') {
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   165
@@ -1747,6 +1784,23 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   166
             }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   167
         }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   168
     }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   169
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   170
+    cpu[0] = '\0';
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   171
+    speed[0] = '\0';
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   172
+
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
   173
+    if ((cpus = sol_get_cpu_info(&info)) > 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
   174
+	(void) strcpy(cpu, info[0].cpu_name);
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   175
+
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
   176
+	if (info[0].cpu_mhz < 1000)
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
   177
+		snprintf(speed, sizeof(speed), " %dMHz", info[0].cpu_mhz);
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   178
+	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
   179
+		snprintf(speed, sizeof(speed), " %.1fGHz",
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
   180
+		    info[0].cpu_mhz/1000.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
   181
+	free(info);
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   182
+    } else {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   183
+	return;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   184
+    }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   185
+#endif
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   186
 
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   187
     /* Number of CPUs */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   188
     if (cpus == 1)
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   189
@@ -2297,6 +2351,7 @@
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   190
     char *tab[] ={ "ns/GB", "us/GB", "ms/GB", "sec/GB" };
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   191
 
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   192
     value *=  1E9;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   193
+
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   194
     if (!verbose(type, value))
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   195
         return;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   196
     if (!UnifyUnits) {
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   197
@@ -2372,21 +2427,21 @@
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   198
 view_band(int type, char *pref, char *name, double value)
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   199
 {
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   200
     int n, s;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   201
-    char **tab;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   202
-
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   203
+    char **tab, **t;
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   204
+
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   205
+    n = s = 0;
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   206
     if (!verbose(type, value))
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   207
         return;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   208
     if (UseBitsPerSec) {
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   209
-        static char *t[] ={ "bits/sec", "Kb/sec", "Mb/sec", "Gb/sec", "Tb/sec" };
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   210
-        s = cardof(t);
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   211
+	t=&t_bits[0];
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   212
+	s = s_bits;
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   213
         tab = t;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   214
         value *= 8;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   215
     } else {
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   216
-        static char *t[] ={ "bytes/sec", "KB/sec", "MB/sec", "GB/sec", "TB/sec" };
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   217
-        s = cardof(t);
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   218
+	t=&t_bytes[0];
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   219
+	s = s_bytes;
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   220
         tab = t;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   221
     }
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   222
-
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   223
     n = 0;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   224
     if (!UnifyUnits) {
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   225
         while (value >= 1000 && n < s-1) {
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   226
@@ -2516,10 +2571,13 @@
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   227
 static void
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   228
 place_val(char *pref, char *name, char *unit, double value)
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   229
 {
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   230
-    char *data = qasprintf("%.0f", value);
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   231
-    char *p    = data;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   232
+    char *data;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   233
+    char *p;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   234
     int   n    = Precision;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   235
 
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   236
+
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   237
+    data = qasprintf("%.0f", value);
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   238
+    p = data;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   239
     if (*p == '-')
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   240
         ++p;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   241
     while (isdigit(*p++))
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   242
@@ -2571,6 +2629,7 @@
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   243
     for (i = 0; i < ShowIndex; ++i) {
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   244
         int n;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   245
         SHOW *show = &ShowTable[i];
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   246
+
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   247
         n = (show->pref ? strlen(show->pref) : 0) + strlen(show->name);
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   248
         if (n > nameLen)
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   249
             nameLen = n;
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   250
@@ -2616,14 +2675,20 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   251
 static void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   252
 set_affinity(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   253
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   254
+#if !(defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   255
     cpu_set_t set;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   256
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   257
     int a = Req.affinity;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   258
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   259
     if (!a)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   260
         return;
2760
d8617e86d47d 17199356 The ibv_devinfo command cannot print the board_id of CX-3 IB-HCA (userland)
Chris Juhasz <chris.juhasz@oracle.com>
parents: 2532
diff changeset
   261
+#if defined(__SVR4) && defined(__sun)
d8617e86d47d 17199356 The ibv_devinfo command cannot print the board_id of CX-3 IB-HCA (userland)
Chris Juhasz <chris.juhasz@oracle.com>
parents: 2532
diff changeset
   262
+    if (processor_bind(P_LWPID, P_MYID, a - 1, NULL) != 0)
d8617e86d47d 17199356 The ibv_devinfo command cannot print the board_id of CX-3 IB-HCA (userland)
Chris Juhasz <chris.juhasz@oracle.com>
parents: 2532
diff changeset
   263
+#else
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   264
     CPU_ZERO(&set);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   265
     CPU_SET(a-1, &set);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   266
     if (sched_setaffinity(0, sizeof(set), &set) < 0)
2760
d8617e86d47d 17199356 The ibv_devinfo command cannot print the board_id of CX-3 IB-HCA (userland)
Chris Juhasz <chris.juhasz@oracle.com>
parents: 2532
diff changeset
   267
+#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
   268
         error(SYS, "cannot set processor affinity (cpu %d)", a-1);
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   269
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   270
 
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   271
@@ -2772,6 +2837,33 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   272
 /*
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   273
  * Get various temporal parameters.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   274
  */
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   275
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   276
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   277
+#define	NSEC_TO_TICK(v)		(v * sysconf(_SC_CLK_TCK)/1000000000)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   278
+
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   279
+static void
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   280
+get_times(CLOCK timex[T_N])
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   281
+{
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   282
+	struct tms tms;
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
   283
+	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
   284
+ 
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   285
+	timex[T_REAL] = times(&tms);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   286
+
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
   287
+	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
   288
+		return;
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   289
+
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
   290
+	timex[T_USER] = stats.t_user;
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   291
+	timex[T_NICE] = 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
   292
+	timex[T_KERNEL] = 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
   293
+	timex[T_IDLE] = 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
   294
+	timex[T_IOWAIT] = 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
   295
+	timex[T_IRQ] = NSEC_TO_TICK(stats.t_intr);	 /* NSEC_TO_TICK */
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   296
+	timex[T_SOFTIRQ] = 0;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   297
+	timex[T_STEAL] = 0;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   298
+}
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   299
+
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   300
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   301
+
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   302
 static void
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   303
 get_times(CLOCK timex[T_N])
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   304
 {
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   305
@@ -2803,6 +2895,7 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   306
     while (n < T_N)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   307
         timex[n++] = 0;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   308
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   309
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   310
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   311
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   312
 /*
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   313
diff -r 6728b98439b2 src/qperf.h
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   314
--- a/src/qperf.h	Wed Oct 14 12:54:37 2015 -0700
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   315
+++ b/src/qperf.h	Fri Nov 13 07:33:20 2015 -0800
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   316
@@ -193,6 +193,7 @@
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   317
     uint32_t    no_cpus;                /* Number of processors */
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   318
     uint32_t    no_ticks;               /* Ticks per second */
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   319
     uint32_t    max_cqes;               /* Maximum CQ entries */
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   320
+    __attribute__ ((aligned (8)))	/* align with 32-bit & 64-bit binary */
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   321
     CLOCK       time_s[T_N];            /* Start times */
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   322
     CLOCK       time_e[T_N];            /* End times */
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   323
     USTAT       s;                      /* Send statistics */
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   324
diff -r 6728b98439b2 src/rdma.c
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   325
--- a/src/rdma.c	Wed Oct 14 12:54:37 2015 -0700
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   326
+++ b/src/rdma.c	Fri Nov 13 07:33:20 2015 -0800
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   327
@@ -37,7 +37,11 @@
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   328
 #include <errno.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   329
 #include <stdio.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   330
 #include <stdlib.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   331
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   332
+#include <strings.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   333
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   334
 #include <string.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   335
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   336
 #include <unistd.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   337
 #include <netinet/in.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   338
 #include <rdma/rdma_cma.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
   339
@@ -110,7 +114,8 @@
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
   340
     uint32_t    srqn;                   /* Shared queue number */
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
   341
     uint32_t    rkey;                   /* Remote key */
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
   342
     uint32_t    alt_lid;                /* Alternate Path Local LID */
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
   343
-    uint32_t    rd_atomic;              /* Number of read/atomics supported */
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
   344
+    uint32_t    rd_atomic               /* Number of read/atomics supported */
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
   345
+    __attribute__ ((aligned (8)));	/* align struct size to 64-bit binary */
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
   346
 } NODE;
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
   347
 
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
   348
 
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
   349
@@ -566,11 +571,15 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   350
 void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   351
 run_client_uc_bi_bw(void)
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
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   354
+    error(RET, "UC Not Supported");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   355
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   356
     par_use(L_ACCESS_RECV);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   357
     par_use(R_ACCESS_RECV);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   358
     rd_params(IBV_QPT_UC, K64, 1, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   359
     rd_bi_bw(IBV_QPT_UC);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   360
     show_results(BANDWIDTH_SR);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   361
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   362
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   363
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   364
 
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
   365
@@ -580,7 +589,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   366
 void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   367
 run_server_uc_bi_bw(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   368
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   369
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   370
+    error(RET, "UC Not Supported");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   371
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   372
     rd_bi_bw(IBV_QPT_UC);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   373
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   374
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   375
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   376
 
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
   377
@@ -590,6 +603,9 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   378
 void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   379
 run_client_uc_bw(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   380
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   381
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   382
+    error(RET, "UC Not Supported");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   383
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   384
     par_use(L_ACCESS_RECV);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   385
     par_use(R_ACCESS_RECV);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   386
     par_use(L_NO_MSGS);
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
   387
@@ -597,6 +613,7 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   388
     rd_params(IBV_QPT_UC, K64, 1, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   389
     rd_client_bw(IBV_QPT_UC);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   390
     show_results(BANDWIDTH_SR);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   391
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   392
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   393
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   394
 
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
   395
@@ -606,7 +623,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   396
 void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   397
 run_server_uc_bw(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   398
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   399
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   400
+    error(RET, "UC Not Supported");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   401
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   402
     rd_server_def(IBV_QPT_UC);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   403
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   404
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   405
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   406
 
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
   407
@@ -616,8 +637,12 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   408
 void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   409
 run_client_uc_lat(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   410
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   411
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   412
+    error(RET, "UC Not Supported");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   413
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   414
     rd_params(IBV_QPT_UC, 1, 1, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   415
     rd_pp_lat(IBV_QPT_UC, IO_SR);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   416
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   417
 }
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
 
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
   420
@@ -627,7 +652,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   421
 void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   422
 run_server_uc_lat(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   423
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   424
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   425
+    error(RET, "UC Not Supported");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   426
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   427
     rd_pp_lat(IBV_QPT_UC, IO_SR);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   428
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   429
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   430
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   431
 
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
   432
@@ -637,9 +666,13 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   433
 void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   434
 run_client_uc_rdma_write_bw(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   435
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   436
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   437
+    error(RET, "UC Not Supported");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   438
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   439
     rd_params(IBV_QPT_UC, K64, 1, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   440
     rd_client_rdma_bw(IBV_QPT_UC, IBV_WR_RDMA_WRITE_WITH_IMM);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   441
     show_results(BANDWIDTH_SR);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   442
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   443
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   444
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   445
 
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
   446
@@ -649,7 +682,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   447
 void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   448
 run_server_uc_rdma_write_bw(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   449
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   450
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   451
+    error(RET, "UC Not Supported");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   452
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   453
     rd_server_def(IBV_QPT_UC);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   454
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   455
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   456
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   457
 
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
   458
@@ -659,8 +696,12 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   459
 void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   460
 run_client_uc_rdma_write_lat(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   461
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   462
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   463
+    error(RET, "UC Not Supported");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   464
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   465
     rd_params(IBV_QPT_UC, 1, 1, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   466
     rd_pp_lat(IBV_QPT_UC, IO_RDMA);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   467
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   468
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   469
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   470
 
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
   471
@@ -670,7 +711,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   472
 void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   473
 run_server_uc_rdma_write_lat(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   474
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   475
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   476
+    error(RET, "UC Not Supported");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   477
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   478
     rd_pp_lat(IBV_QPT_UC, IO_RDMA);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   479
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   480
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   481
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   482
 
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
   483
@@ -680,9 +725,13 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   484
 void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   485
 run_client_uc_rdma_write_poll_lat(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   486
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   487
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   488
+    error(RET, "UC Not Supported");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   489
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   490
     rd_params(IBV_QPT_UC, 1, 1, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   491
     rd_rdma_write_poll_lat(IBV_QPT_UC);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   492
     show_results(LATENCY);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   493
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   494
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   495
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   496
 
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
   497
@@ -692,7 +741,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   498
 void
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   499
 run_server_uc_rdma_write_poll_lat(void)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   500
 {
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   501
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   502
+    error(RET, "UC Not Supported");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   503
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   504
     rd_rdma_write_poll_lat(IBV_QPT_UC);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   505
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   506
 }
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   507
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   508
 
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   509
@@ -1874,10 +1927,16 @@
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
   510
         error(0, "rdma_bind_addr 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
   511
     port = ntohs(rdma_get_src_port(cm->id));
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
   512
     encode_uint32(&port, port);
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
   513
+#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
   514
     send_mesg(&port, sizeof(port), "RDMA CM TCP IPv4 server port");
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
   515
+#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
   516
 
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
   517
     if (rdma_listen(cm->id, 0) != 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
   518
         error(0, "rdma_listen 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
   519
+
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
   520
+#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
   521
+    send_mesg(&port, sizeof(port), "RDMA CM TCP IPv4 server port");
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
   522
+#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
   523
     cm_expect_event(dev, RDMA_CM_EVENT_CONNECT_REQUEST);
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
   524
     rd_create_qp(dev, cm->event->id->verbs, cm->event->id);
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
   525
 
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   526
diff -r 6728b98439b2 src/rds.c
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   527
--- a/src/rds.c	Wed Oct 14 12:54:37 2015 -0700
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   528
+++ b/src/rds.c	Fri Nov 13 07:33:20 2015 -0800
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   529
@@ -45,6 +45,9 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   530
 #include <netinet/in.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   531
 #include "qperf.h"
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
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   534
+#include <sys/rds.h>
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   535
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   536
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   537
 /*
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   538
  * Parameters.
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   539
@@ -90,6 +93,7 @@
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   540
 #define AF_RDS get_af_rds()
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   541
 #endif
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   542
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   543
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   544
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   545
 /*
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   546
  * Function prototypes.
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   547
@@ -338,13 +342,19 @@
2532
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   548
     if (bind(lfd, (SA *)&laddr, sizeof(laddr)) < 0)
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   549
         error(SYS, "bind INET failed");
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   550
 
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   551
+    /*
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   552
+     * OFED generic fix - listen() should be setup first before sending server
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   553
+     * port message to the client.  There is a window that the client's
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   554
+     * connect() would fail after receiving the "server port" message if the
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   555
+     * server hasn't completed the listen().
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   556
+     */
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   557
+    if (listen(lfd, 1) < 0)
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   558
+        error(SYS, "listen failed");
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   559
+
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   560
     port = get_socket_port(lfd);
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   561
     encode_uint32(&port, port);
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   562
     send_mesg(&port, sizeof(port), "TCP IPv4 server port");
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   563
 
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   564
-    if (listen(lfd, 1) < 0)
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   565
-        error(SYS, "listen failed");
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   566
-
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   567
     rlen = sizeof(raddr);
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   568
     fd = accept(lfd, (SA *)&raddr, &rlen);
5b3dc1c8b85e PSARC 2012/384 Fast IB node death detection
Boris Chiu <Boris.Chiu@Oracle.COM>
parents: 741
diff changeset
   569
     if (fd < 0)
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   570
@@ -392,7 +402,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   571
     SS sockaddr;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   572
     socklen_t socklen;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   573
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   574
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   575
+    sockfd = socket(PF_RDS, SOCK_SEQPACKET, 0);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   576
+#else
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   577
     sockfd = socket(AF_RDS, SOCK_SEQPACKET, 0);
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   578
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   579
     if (sockfd < 0)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   580
         error(SYS, "socket failed");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   581
     setsockopt_one(sockfd, SO_REUSEADDR);
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   582
@@ -413,7 +427,11 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   583
     struct sockaddr_in *sap = (struct sockaddr_in *)addr;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   584
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   585
     memset(sap, 0, sizeof(*sap));
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   586
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   587
+    sap->sin_family = AF_INET_OFFLOAD;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   588
+#else
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   589
     sap->sin_family = AF_INET;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   590
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   591
     inet_pton(AF_INET, host, &sap->sin_addr.s_addr);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   592
     sap->sin_port = htons(port);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   593
     *len = sizeof(struct sockaddr_in);
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   594
@@ -471,6 +489,14 @@
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   595
 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   596
     if (getsockname(fd, (SA *)&sa, &salen) < 0)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   597
         error(SYS, "getsockname failed");
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   598
+#if (defined(__SVR4) && defined(__sun))
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   599
+    /*
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   600
+     * getnameinfo() does not support AF_INET_OFFLOAD, so 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   601
+     * use ss_family as AF_INET to get port info.
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   602
+     */ 
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   603
+    if (sa.ss_family == AF_INET_OFFLOAD)
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   604
+	sa.ss_family = AF_INET;
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   605
+#endif
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   606
     qgetnameinfo((SA *)&sa, salen, 0, 0, p, sizeof(p), NI_NUMERICSERV);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   607
     port = atoi(p);
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents:
diff changeset
   608
     if (!port)
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   609
diff -r 6728b98439b2 src/socket.c
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   610
--- a/src/socket.c	Wed Oct 14 12:54:37 2015 -0700
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   611
+++ b/src/socket.c	Fri Nov 13 07:33:20 2015 -0800
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   612
@@ -44,7 +44,9 @@
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   613
 /*
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   614
  * Parameters.
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   615
  */
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   616
+#if !(defined(__SVR4) && defined(__sun))
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   617
 #define AF_INET_SDP 27                  /* Family for SDP */
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   618
+#endif
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   619
 
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   620
 
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   621
 /*
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   622
@@ -707,10 +709,14 @@
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   623
     ailist = getaddrinfo_port(serverflag ? 0 : ServerName, port, &hints);
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   624
     for (aip = ailist; aip; aip = aip->ai_next) {
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   625
         if (kind == K_SDP) {
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   626
+#if (defined(__SVR4) && defined(__sun))
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   627
+		aip->ai_protocol = PROTO_SDP;
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   628
+#else
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   629
             if (aip->ai_family == AF_INET || aip->ai_family == AF_INET6)
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   630
                 aip->ai_family = AF_INET_SDP;
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   631
             else
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   632
                 aip->ai_family = 0;
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   633
+#endif
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   634
         } else if (kind == K_SCTP) {
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   635
             if (aip->ai_protocol == IPPROTO_TCP)
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   636
                 aip->ai_protocol = IPPROTO_SCTP;
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   637
diff -r 6728b98439b2 src/support.c
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   638
--- a/src/support.c	Wed Oct 14 12:54:37 2015 -0700
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   639
+++ b/src/support.c	Fri Nov 13 07:33:20 2015 -0800
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   640
@@ -215,14 +215,14 @@
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   641
     volatile uint64_t *p64 = p;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   642
 
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   643
     while (n >= sizeof(*p64)) {
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   644
-        (void) *p64++;
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   645
         n -= sizeof(*p64);
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   646
+        *p64++;
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   647
     }
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   648
     if (n) {
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   649
         volatile uint8_t *p8 = (uint8_t *)p64;
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   650
         while (n >= sizeof(*p8)) {
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   651
-            (void) *p8++;
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   652
             n -= sizeof(*p8);
6322
c8b38df3868d PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 4996
diff changeset
   653
+            *p8++;
4996
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   654
         }
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   655
     }
739983ef315c PSARC 2015/310 IBTF and OFUV updates
boris.chiu@oracle.com
parents: 2760
diff changeset
   656
 }