components/open-fabrics/qperf/patches/base.patch
branchs11-update
changeset 2532 5b3dc1c8b85e
parent 741 83cb76377624
child 1408 8bc5df437e67
equal deleted inserted replaced
2531:86ae973f1705 2532:5b3dc1c8b85e
     9  #define AF_INET_SDP 27                  /* Family for SDP */
     9  #define AF_INET_SDP 27                  /* Family for SDP */
    10 +#endif
    10 +#endif
    11  
    11  
    12  
    12  
    13  /*
    13  /*
    14 @@ -707,10 +709,16 @@
    14 @@ -707,10 +709,14 @@
    15      ailist = getaddrinfo_port(serverflag ? 0 : ServerName, port, &hints);
    15      ailist = getaddrinfo_port(serverflag ? 0 : ServerName, port, &hints);
    16      for (aip = ailist; aip; aip = aip->ai_next) {
    16      for (aip = ailist; aip; aip = aip->ai_next) {
    17          if (kind == K_SDP) {
    17          if (kind == K_SDP) {
    18 +#if (defined(__SVR4) && defined(__sun))
    18 +#if (defined(__SVR4) && defined(__sun))
    19 +		aip->ai_family = AF_INET;
       
    20 +		aip->ai_socktype = SOCK_STREAM;
       
    21 +		aip->ai_protocol = PROTO_SDP;
    19 +		aip->ai_protocol = PROTO_SDP;
    22 +#else
    20 +#else
    23              if (aip->ai_family == AF_INET || aip->ai_family == AF_INET6)
    21              if (aip->ai_family == AF_INET || aip->ai_family == AF_INET6)
    24                  aip->ai_family = AF_INET_SDP;
    22                  aip->ai_family = AF_INET_SDP;
    25              else
    23              else
    78 +    solaris_fini();
    76 +    solaris_fini();
    79 +#endif
    77 +#endif
    80      return 0;
    78      return 0;
    81  }
    79  }
    82  
    80  
    83 @@ -617,14 +634,19 @@
    81 @@ -617,14 +634,21 @@
    84      for (i = 0; i < P_N; ++i)
    82      for (i = 0; i < P_N; ++i)
    85          if (ParInfo[i].index != i)
    83          if (ParInfo[i].index != i)
    86              error(BUG, "initialize: ParInfo: out of order: %d", i);
    84              error(BUG, "initialize: ParInfo: out of order: %d", i);
    87 +#if (defined(__SVR4) && defined(__sun))
    85 +#if (defined(__SVR4) && defined(__sun))
    88 +    solaris_init();
    86 +    solaris_init();
       
    87 +    Req.affinity = -1;		/* default no affinity */
       
    88 +    RReq.affinity = -1;
    89 +#else
    89 +#else
    90      ProcStatFD = open("/proc/stat", 0);
    90      ProcStatFD = open("/proc/stat", 0);
    91      if (ProcStatFD < 0)
    91      if (ProcStatFD < 0)
    92          error(SYS, "cannot open /proc/stat");
    92          error(SYS, "cannot open /proc/stat");
    93 +#endif
    93 +#endif
    98  
    98  
    99 +#if !(defined(__SVR4) && defined(__sun))
    99 +#if !(defined(__SVR4) && defined(__sun))
   100  /*
   100  /*
   101   * Look for a colon and skip past it and any spaces.
   101   * Look for a colon and skip past it and any spaces.
   102   */
   102   */
   103 @@ -643,6 +665,7 @@
   103 @@ -643,6 +667,7 @@
   104          s++;
   104          s++;
   105      return s;
   105      return s;
   106  }
   106  }
   107 +#endif
   107 +#endif
   108  
   108  
   109  
   109  
   110  /*
   110  /*
   111 @@ -1667,13 +1690,18 @@
   111 @@ -1667,13 +1692,18 @@
   112  {
   112  {
   113      char count[STRSIZE];
   113      char count[STRSIZE];
   114      char speed[STRSIZE];
   114      char speed[STRSIZE];
   115 -    char buf[BUFSIZE];
   115 -    char buf[BUFSIZE];
   116      char cpu[BUFSIZE];
   116      char cpu[BUFSIZE];
   127  
   127  
   128 +#if !(defined(__SVR4) && defined(__sun))
   128 +#if !(defined(__SVR4) && defined(__sun))
   129      if (!fp)
   129      if (!fp)
   130          error(0, "cannot open /proc/cpuinfo");
   130          error(0, "cannot open /proc/cpuinfo");
   131      cpu[0] = '\0';
   131      cpu[0] = '\0';
   132 @@ -1732,6 +1760,7 @@
   132 @@ -1732,6 +1762,7 @@
   133  
   133  
   134      /* CPU speed */
   134      /* CPU speed */
   135      speed[0] = '\0';
   135      speed[0] = '\0';
   136 +
   136 +
   137      if (!mixed) {
   137      if (!mixed) {
   138          int n = strlen(cpu);
   138          int n = strlen(cpu);
   139          if (n < 3 || cpu[n-2] != 'H' || cpu[n-1] != 'z') {
   139          if (n < 3 || cpu[n-2] != 'H' || cpu[n-1] != 'z') {
   140 @@ -1745,7 +1774,24 @@
   140 @@ -1745,7 +1776,24 @@
   141              }
   141              }
   142          }
   142          }
   143      }
   143      }
   144 +#else
   144 +#else
   145 +    cpu[0] = '\0';
   145 +    cpu[0] = '\0';
   160 +#endif
   160 +#endif
   161 +
   161 +
   162      /* Number of CPUs */
   162      /* Number of CPUs */
   163      if (cpus == 1)
   163      if (cpus == 1)
   164          count[0] = '\0';
   164          count[0] = '\0';
   165 @@ -2615,9 +2661,15 @@
   165 @@ -2615,9 +2663,17 @@
   166  static void
   166  static void
   167  set_affinity(void)
   167  set_affinity(void)
   168  {
   168  {
   169 +#if !(defined(__SVR4) && defined(__sun))
   169 +#if !(defined(__SVR4) && defined(__sun))
   170      cpu_set_t set;
   170      cpu_set_t set;
   171 +#endif
   171 +#endif
   172      int a = Req.affinity;
   172      int a = Req.affinity;
   173  
   173  
   174 +#if defined(__SVR4) && defined(__sun)
   174 +#if defined(__SVR4) && defined(__sun)
       
   175 +    if (a == -1)	/* no affinity by default */
       
   176 +	return;
   175 +    if (processor_bind(P_LWPID, P_MYID, a, NULL) != 0)
   177 +    if (processor_bind(P_LWPID, P_MYID, a, NULL) != 0)
   176 +        error(SYS, "cannot set processor affinity (cpu %d)", a);
   178 +        error(SYS, "cannot set processor affinity (cpu %d)", a);
   177 +#else
   179 +#else
   178      if (!a)
   180      if (!a)
   179          return;
   181          return;
   180      CPU_ZERO(&set);
   182      CPU_ZERO(&set);
   181 @@ -2624,6 +2676,7 @@
   183 @@ -2624,6 +2680,7 @@
   182      CPU_SET(a-1, &set);
   184      CPU_SET(a-1, &set);
   183      if (sched_setaffinity(0, sizeof(set), &set) < 0)
   185      if (sched_setaffinity(0, sizeof(set), &set) < 0)
   184          error(SYS, "cannot set processor affinity (cpu %d)", a-1);
   186          error(SYS, "cannot set processor affinity (cpu %d)", a-1);
   185 +#endif
   187 +#endif
   186  }
   188  }
   187  
   189  
   188  
   190  
   189 @@ -2771,9 +2824,36 @@
   191 @@ -2771,9 +2828,36 @@
   190  /*
   192  /*
   191   * Get various temporal parameters.
   193   * Get various temporal parameters.
   192   */
   194   */
   193 +#if (defined(__SVR4) && defined(__sun))
   195 +#if (defined(__SVR4) && defined(__sun))
   194 +
   196 +
   221 +get_times(CLOCK timex[T_N])
   223 +get_times(CLOCK timex[T_N])
   222 +{
   224 +{
   223      int n;
   225      int n;
   224      char *p;
   226      char *p;
   225      char buf[BUFSIZE];
   227      char buf[BUFSIZE];
   226 @@ -2802,6 +2882,7 @@
   228 @@ -2802,6 +2886,7 @@
   227      while (n < T_N)
   229      while (n < T_N)
   228          timex[n++] = 0;
   230          timex[n++] = 0;
   229  }
   231  }
   230 +#endif
   232 +#endif
   231  
   233  
   452  
   454  
   453 +#endif
   455 +#endif
   454  
   456  
   455  /*
   457  /*
   456   * Function prototypes.
   458   * Function prototypes.
   457 @@ -352,7 +356,11 @@
   459 @@ -298,13 +302,19 @@
       
   460      if (bind(lfd, (SA *)&laddr, sizeof(laddr)) < 0)
       
   461          error(SYS, "bind INET failed");
       
   462  
       
   463 +    /*
       
   464 +     * OFED generic fix - listen() should be setup first before sending server
       
   465 +     * port message to the client.  There is a window that the client's
       
   466 +     * connect() would fail after receiving the "server port" message if the
       
   467 +     * server hasn't completed the listen().
       
   468 +     */
       
   469 +    if (listen(lfd, 1) < 0)
       
   470 +        error(SYS, "listen failed");
       
   471 +
       
   472      port = get_socket_port(lfd);
       
   473      encode_uint32(&port, port);
       
   474      send_mesg(&port, sizeof(port), "TCP IPv4 server port");
       
   475  
       
   476 -    if (listen(lfd, 1) < 0)
       
   477 -        error(SYS, "listen failed");
       
   478 -
       
   479      rlen = sizeof(raddr);
       
   480      fd = accept(lfd, (SA *)&raddr, &rlen);
       
   481      if (fd < 0)
       
   482 @@ -352,7 +362,11 @@
   458      SS sockaddr;
   483      SS sockaddr;
   459      socklen_t socklen;
   484      socklen_t socklen;
   460  
   485  
   461 +#if (defined(__SVR4) && defined(__sun))
   486 +#if (defined(__SVR4) && defined(__sun))
   462 +    sockfd = socket(PF_RDS, SOCK_SEQPACKET, 0);
   487 +    sockfd = socket(PF_RDS, SOCK_SEQPACKET, 0);
   464      sockfd = socket(AF_INET_RDS, SOCK_SEQPACKET, 0);
   489      sockfd = socket(AF_INET_RDS, SOCK_SEQPACKET, 0);
   465 +#endif
   490 +#endif
   466      if (sockfd < 0)
   491      if (sockfd < 0)
   467          error(SYS, "socket failed");
   492          error(SYS, "socket failed");
   468      setsockopt_one(sockfd, SO_REUSEADDR);
   493      setsockopt_one(sockfd, SO_REUSEADDR);
   469 @@ -373,7 +381,11 @@
   494 @@ -373,7 +387,11 @@
   470      struct sockaddr_in *sap = (struct sockaddr_in *)addr;
   495      struct sockaddr_in *sap = (struct sockaddr_in *)addr;
   471  
   496  
   472      memset(sap, 0, sizeof(*sap));
   497      memset(sap, 0, sizeof(*sap));
   473 +#if (defined(__SVR4) && defined(__sun))
   498 +#if (defined(__SVR4) && defined(__sun))
   474 +    sap->sin_family = AF_INET_OFFLOAD;
   499 +    sap->sin_family = AF_INET_OFFLOAD;
   476      sap->sin_family = AF_INET;
   501      sap->sin_family = AF_INET;
   477 +#endif
   502 +#endif
   478      inet_pton(AF_INET, host, &sap->sin_addr.s_addr);
   503      inet_pton(AF_INET, host, &sap->sin_addr.s_addr);
   479      sap->sin_port = htons(port);
   504      sap->sin_port = htons(port);
   480      *len = sizeof(struct sockaddr_in);
   505      *len = sizeof(struct sockaddr_in);
   481 @@ -431,6 +443,14 @@
   506 @@ -431,6 +449,14 @@
   482  
   507  
   483      if (getsockname(fd, (SA *)&sa, &salen) < 0)
   508      if (getsockname(fd, (SA *)&sa, &salen) < 0)
   484          error(SYS, "getsockname failed");
   509          error(SYS, "getsockname failed");
   485 +#if (defined(__SVR4) && defined(__sun))
   510 +#if (defined(__SVR4) && defined(__sun))
   486 +    /*
   511 +    /*