components/open-fabrics/qperf/patches/base.patch
changeset 4908 8eb64ba1b2ad
parent 4907 38c3e88acfc0
equal deleted inserted replaced
4907:38c3e88acfc0 4908:8eb64ba1b2ad
       
     1 # This patch was developed both in-house and from outside. We plan to submit it
       
     2 # upstream, but do not yet have a target date for doing so
       
     3 #
     1 diff -r -u /tmp/730054/qperf-0.4.6/src/socket.c qperf-0.4.6/src/socket.c
     4 diff -r -u /tmp/730054/qperf-0.4.6/src/socket.c qperf-0.4.6/src/socket.c
     2 --- /tmp/730054/qperf-0.4.6/src/socket.c	Mon Aug 31 00:00:40 2009
     5 --- /tmp/730054/qperf-0.4.6/src/socket.c	Mon Aug 31 00:00:40 2009
     3 +++ qperf-0.4.6/src/socket.c	Mon Nov  8 11:10:20 2010
     6 +++ qperf-0.4.6/src/socket.c	Mon Nov  8 11:10:20 2010
     4 @@ -44,7 +44,9 @@
     7 @@ -44,7 +44,9 @@
     5  /*
     8  /*
   561 +    send_mesg(&port, sizeof(port), "RDMA CM TCP IPv4 server port");
   564 +    send_mesg(&port, sizeof(port), "RDMA CM TCP IPv4 server port");
   562 +#endif
   565 +#endif
   563      cm_expect_event(dev, RDMA_CM_EVENT_CONNECT_REQUEST);
   566      cm_expect_event(dev, RDMA_CM_EVENT_CONNECT_REQUEST);
   564      rd_create_qp(dev, cm->event->id->verbs, cm->event->id);
   567      rd_create_qp(dev, cm->event->id->verbs, cm->event->id);
   565  
   568  
       
   569 @@ -2012,7 +2071,7 @@
       
   570          char *p = index(Req.id, ':');
       
   571  
       
   572          if (p) {
       
   573 -            *p++ = '\0';
       
   574 +            p++;
       
   575              port = atoi(p);
       
   576              if (port < 1)
       
   577                  error(0, "bad IB port: %d; must be at least 1", port);
       
   578 @@ -2050,10 +2109,18 @@
       
   579              device = *dev->ib.devlist;
       
   580          else {
       
   581              struct ibv_device **d = dev->ib.devlist;
       
   582 -            while ((device = *d++))
       
   583 -                if (streq(ibv_get_device_name(device), name))
       
   584 +            size_t n = strlen(name);
       
   585 +            char *p = index(Req.id, ':');
       
   586 +            if (p) {
       
   587 +                n = p - Req.id;
       
   588 +            }
       
   589 +            while ((device = *d++)) {
       
   590 +                if (streqn(ibv_get_device_name(device), name, n)) {
       
   591                      break;
       
   592 +                }
       
   593 +            }
       
   594          }
       
   595 +
       
   596          if (!device)
       
   597              error(SYS, "failed to find InfiniBand device");
       
   598          dev->ib.context = ibv_open_device(device);
   566 diff -r -u /tmp/730054/qperf-0.4.6/src/rds.c qperf-0.4.6/src/rds.c
   599 diff -r -u /tmp/730054/qperf-0.4.6/src/rds.c qperf-0.4.6/src/rds.c
   567 --- /tmp/730054/qperf-0.4.6/src/rds.c	Mon Aug 31 00:00:40 2009
   600 --- /tmp/730054/qperf-0.4.6/src/rds.c	Mon Aug 31 00:00:40 2009
   568 +++ qperf-0.4.6/src/rds.c	Mon Nov  8 11:10:19 2010
   601 +++ qperf-0.4.6/src/rds.c	Mon Nov  8 11:10:19 2010
   569 @@ -44,6 +44,9 @@
   602 @@ -44,6 +44,9 @@
   570  #include <netinet/in.h>
   603  #include <netinet/in.h>
   647      port = atoi(p);
   680      port = atoi(p);
   648      if (!port)
   681      if (!port)
   649 diff -r -u /tmp/730054/qperf-0.4.6/src/qperf.h qperf-0.4.6/src/qperf.h
   682 diff -r -u /tmp/730054/qperf-0.4.6/src/qperf.h qperf-0.4.6/src/qperf.h
   650 --- /tmp/730054/qperf-0.4.6/src/qperf.h	Mon Aug 31 00:00:40 2009
   683 --- /tmp/730054/qperf-0.4.6/src/qperf.h	Mon Aug 31 00:00:40 2009
   651 +++ qperf-0.4.6/src/qperf.h	Tue Oct 18 16:40:59 2011
   684 +++ qperf-0.4.6/src/qperf.h	Tue Oct 18 16:40:59 2011
   652 @@ -193,6 +193,7 @@
   685 @@ -49,6 +49,7 @@
       
   686  #define cardof(a)       (sizeof(a)/sizeof(*a))
       
   687  #define endof(a)        (&a[cardof(a)])
       
   688  #define streq(a, b)     (strcmp(a, b) == 0)
       
   689 +#define streqn(a, b, n)	(strncmp(a, b, n) == 0)
       
   690  #define offset(t, e)    ((long)&((t *)0)->e)
       
   691  #define is_client()     (ServerName != 0)
       
   692  #define is_sender()     (Req.flip ? !is_client() : is_client())
       
   693 @@ -193,6 +194,7 @@
   653      uint32_t    no_cpus;                /* Number of processors */
   694      uint32_t    no_cpus;                /* Number of processors */
   654      uint32_t    no_ticks;               /* Ticks per second */
   695      uint32_t    no_ticks;               /* Ticks per second */
   655      uint32_t    max_cqes;               /* Maximum CQ entries */
   696      uint32_t    max_cqes;               /* Maximum CQ entries */
   656 +    __attribute__ ((aligned (8)))	/* align with 32-bit & 64-bit binary */
   697 +    __attribute__ ((aligned (8)))	/* align with 32-bit & 64-bit binary */
   657      CLOCK       time_s[T_N];            /* Start times */
   698      CLOCK       time_s[T_N];            /* Start times */