[ofw] [PATCH 9/8] [ib-diag] ibping: add support for WinOF
Sean Hefty
sean.hefty at intel.com
Tue Feb 17 16:05:45 PST 2009
Allow ibping to build and run on both Linux and Windows. Window
build files are maintained in the WinOF respository. These changes
allow dropping the infiniband-diags into the WinOF build environment.
For portability, use complib to obtain time stamps.
Signed-off-by: Sean Hefty <sean.hefty at intel.com>
---
Converted another diag this afternoon. I was able to build and execute this,
but apparently I don't have anything on my fabric that responds to the pings.
infiniband-diags/src/ibping.c | 22 +++++++---------------
1 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/infiniband-diags/src/ibping.c b/infiniband-diags/src/ibping.c
index 29c98c2..1994eba 100644
--- a/infiniband-diags/src/ibping.c
+++ b/infiniband-diags/src/ibping.c
@@ -41,24 +41,16 @@
#include <string.h>
#include <signal.h>
#include <getopt.h>
-#include <sys/time.h>
#include <infiniband/umad.h>
#include <infiniband/mad.h>
+#include <complib/cl_timer.h>
#include "ibdiag_common.h"
static char host_and_domain[IB_VENDOR_RANGE2_DATA_SIZE];
static char last_host[IB_VENDOR_RANGE2_DATA_SIZE];
-static uint64_t getcurrenttime(void)
-{
- struct timeval tv;
-
- gettimeofday(&tv, 0);
- return (uint64_t)tv.tv_sec * 1000000 + tv.tv_usec;
-}
-
static void
get_host_and_domain(char *data, int sz)
{
@@ -118,7 +110,7 @@ ibping(ib_portid_t *portid, int quiet)
DEBUG("Ping..");
- start = getcurrenttime();
+ start = cl_get_time_stamp();
call.method = IB_MAD_METHOD_GET;
call.mgmt_class = IB_VENDOR_OPENIB_PING_CLASS;
@@ -129,9 +121,9 @@ ibping(ib_portid_t *portid, int quiet)
memset(&call.rmpp, 0, sizeof call.rmpp);
if (!ib_vendor_call(data, portid, &call))
- return ~0llu;
+ return ~0ull;
- rtt = getcurrenttime() - start;
+ rtt = cl_get_time_stamp() - start;
if (!last_host[0])
memcpy(last_host, data, sizeof last_host);
@@ -149,7 +141,7 @@ static ib_portid_t portid = {0};
void report(int sig)
{
- total_time = getcurrenttime() - start;
+ total_time = cl_get_time_stamp() - start;
DEBUG("out due signal %d", sig);
@@ -203,7 +195,7 @@ int main(int argc, char **argv)
{ "flood", 'f', 0, NULL, "flood destination" },
{ "oui", 'o', 1, NULL, "use specified OUI number" },
{ "Server", 'S', 0, NULL, "start in server mode" },
- { }
+ { 0 }
};
char usage_args[] = "<dest lid|guid>";
@@ -238,7 +230,7 @@ int main(int argc, char **argv)
signal(SIGINT, report);
signal(SIGTERM, report);
- start = getcurrenttime();
+ start = cl_get_time_stamp();
while (count-- > 0) {
ntrans++;
More information about the ofw
mailing list