From owner-svn-src-projects@FreeBSD.ORG Tue Aug 24 21:27:02 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A88DA1065697; Tue, 24 Aug 2010 21:27:02 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 96F048FC1E; Tue, 24 Aug 2010 21:27:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OLR2Zr088541; Tue, 24 Aug 2010 21:27:02 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OLR2q9088535; Tue, 24 Aug 2010 21:27:02 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008242127.o7OLR2q9088535@svn.freebsd.org> From: Jeff Roberson Date: Tue, 24 Aug 2010 21:27:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211777 - projects/ofed/head/contrib/ofed/libibverbs/examples X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 21:27:02 -0000 Author: jeff Date: Tue Aug 24 21:27:02 2010 New Revision: 211777 URL: http://svn.freebsd.org/changeset/base/211777 Log: - Port the test programs to bsd and allow them to use an inet4 socket to communicate parameters before establishing an actual infiniband connection. This works around not having ipoib yet. - Add a Makefile to complile the various verbs tests. Sponsored by: Isilon Systems, iX Systems, and Panasas Added: projects/ofed/head/contrib/ofed/libibverbs/examples/Makefile Modified: projects/ofed/head/contrib/ofed/libibverbs/examples/pingpong.h projects/ofed/head/contrib/ofed/libibverbs/examples/rc_pingpong.c projects/ofed/head/contrib/ofed/libibverbs/examples/srq_pingpong.c projects/ofed/head/contrib/ofed/libibverbs/examples/uc_pingpong.c projects/ofed/head/contrib/ofed/libibverbs/examples/ud_pingpong.c Added: projects/ofed/head/contrib/ofed/libibverbs/examples/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ofed/head/contrib/ofed/libibverbs/examples/Makefile Tue Aug 24 21:27:02 2010 (r211777) @@ -0,0 +1,28 @@ +CFLAGS= -I../../../../sys/ofed/include -libverbs -lmlx4 -lmthca -pthread + +all: asyncwatch devinfo device_list rc_pingpong srq_pingpong uc_pingpong ud_pingpong + +clean: + rm asyncwatch devinfo device_list rc_pingpong srq_pingpong uc_pingpong ud_pingpong + +asyncwatch: + gcc -o asyncwatch asyncwatch.c ${CFLAGS} + +devinfo: + gcc -o devinfo devinfo.c ${CFLAGS} + +device_list: + gcc -o device_list device_list.c ${CFLAGS} + +rc_pingpong: + gcc -o rc_pingpong rc_pingpong.c pingpong.c ${CFLAGS} + +srq_pingpong: + gcc -o srq_pingpong srq_pingpong.c pingpong.c ${CFLAGS} + +uc_pingpong: + gcc -o uc_pingpong uc_pingpong.c pingpong.c ${CFLAGS} + +ud_pingpong: + gcc -o ud_pingpong ud_pingpong.c pingpong.c ${CFLAGS} + Modified: projects/ofed/head/contrib/ofed/libibverbs/examples/pingpong.h ============================================================================== --- projects/ofed/head/contrib/ofed/libibverbs/examples/pingpong.h Tue Aug 24 21:25:58 2010 (r211776) +++ projects/ofed/head/contrib/ofed/libibverbs/examples/pingpong.h Tue Aug 24 21:27:02 2010 (r211777) @@ -33,6 +33,8 @@ #ifndef IBV_PINGPONG_H #define IBV_PINGPONG_H +#include + #include enum ibv_mtu pp_mtu_to_enum(int mtu); Modified: projects/ofed/head/contrib/ofed/libibverbs/examples/rc_pingpong.c ============================================================================== --- projects/ofed/head/contrib/ofed/libibverbs/examples/rc_pingpong.c Tue Aug 24 21:25:58 2010 (r211776) +++ projects/ofed/head/contrib/ofed/libibverbs/examples/rc_pingpong.c Tue Aug 24 21:27:02 2010 (r211777) @@ -42,7 +42,7 @@ #include #include #include -#include +#include #include #include #include @@ -131,7 +131,7 @@ static struct pingpong_dest *pp_client_e { struct addrinfo *res, *t; struct addrinfo hints = { - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -202,7 +202,7 @@ static struct pingpong_dest *pp_server_e struct addrinfo *res, *t; struct addrinfo hints = { .ai_flags = AI_PASSIVE, - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -287,6 +287,8 @@ out: return rem_dest; } +#include + static struct pingpong_context *pp_init_ctx(struct ibv_device *ib_dev, int size, int rx_depth, int port, int use_event) @@ -300,7 +302,7 @@ static struct pingpong_context *pp_init_ ctx->size = size; ctx->rx_depth = rx_depth; - ctx->buf = memalign(page_size, size); + ctx->buf = malloc(roundup(size, page_size)); if (!ctx->buf) { fprintf(stderr, "Couldn't allocate work buf.\n"); return NULL; @@ -537,7 +539,7 @@ int main(int argc, char *argv[]) break; case 'd': - ib_devname = strdupa(optarg); + ib_devname = strdup(optarg); break; case 'i': @@ -583,7 +585,7 @@ int main(int argc, char *argv[]) } if (optind == argc - 1) - servername = strdupa(argv[optind]); + servername = strdup(argv[optind]); else if (optind < argc) { usage(argv[0]); return 1; Modified: projects/ofed/head/contrib/ofed/libibverbs/examples/srq_pingpong.c ============================================================================== --- projects/ofed/head/contrib/ofed/libibverbs/examples/srq_pingpong.c Tue Aug 24 21:25:58 2010 (r211776) +++ projects/ofed/head/contrib/ofed/libibverbs/examples/srq_pingpong.c Tue Aug 24 21:27:02 2010 (r211777) @@ -42,7 +42,6 @@ #include #include #include -#include #include #include #include @@ -139,7 +138,7 @@ static struct pingpong_dest *pp_client_e { struct addrinfo *res, *t; struct addrinfo hints = { - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -223,7 +222,7 @@ static struct pingpong_dest *pp_server_e struct addrinfo *res, *t; struct addrinfo hints = { .ai_flags = AI_PASSIVE, - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -335,7 +334,7 @@ static struct pingpong_context *pp_init_ ctx->num_qp = num_qp; ctx->rx_depth = rx_depth; - ctx->buf = memalign(page_size, size); + ctx->buf = malloc(roundup(size, page_size)); if (!ctx->buf) { fprintf(stderr, "Couldn't allocate work buf.\n"); return NULL; @@ -612,7 +611,7 @@ int main(int argc, char *argv[]) break; case 'd': - ib_devname = strdupa(optarg); + ib_devname = strdup(optarg); break; case 'i': @@ -662,7 +661,7 @@ int main(int argc, char *argv[]) } if (optind == argc - 1) - servername = strdupa(argv[optind]); + servername = strdup(argv[optind]); else if (optind < argc) { usage(argv[0]); return 1; Modified: projects/ofed/head/contrib/ofed/libibverbs/examples/uc_pingpong.c ============================================================================== --- projects/ofed/head/contrib/ofed/libibverbs/examples/uc_pingpong.c Tue Aug 24 21:25:58 2010 (r211776) +++ projects/ofed/head/contrib/ofed/libibverbs/examples/uc_pingpong.c Tue Aug 24 21:27:02 2010 (r211777) @@ -42,7 +42,6 @@ #include #include #include -#include #include #include #include @@ -119,7 +118,7 @@ static struct pingpong_dest *pp_client_e { struct addrinfo *res, *t; struct addrinfo hints = { - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -190,7 +189,7 @@ static struct pingpong_dest *pp_server_e struct addrinfo *res, *t; struct addrinfo hints = { .ai_flags = AI_PASSIVE, - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -288,7 +287,7 @@ static struct pingpong_context *pp_init_ ctx->size = size; ctx->rx_depth = rx_depth; - ctx->buf = memalign(page_size, size); + ctx->buf = malloc(roundup(size, page_size)); if (!ctx->buf) { fprintf(stderr, "Couldn't allocate work buf.\n"); return NULL; @@ -525,7 +524,7 @@ int main(int argc, char *argv[]) break; case 'd': - ib_devname = strdupa(optarg); + ib_devname = strdup(optarg); break; case 'i': @@ -571,7 +570,7 @@ int main(int argc, char *argv[]) } if (optind == argc - 1) - servername = strdupa(argv[optind]); + servername = strdup(argv[optind]); else if (optind < argc) { usage(argv[0]); return 1; Modified: projects/ofed/head/contrib/ofed/libibverbs/examples/ud_pingpong.c ============================================================================== --- projects/ofed/head/contrib/ofed/libibverbs/examples/ud_pingpong.c Tue Aug 24 21:25:58 2010 (r211776) +++ projects/ofed/head/contrib/ofed/libibverbs/examples/ud_pingpong.c Tue Aug 24 21:27:02 2010 (r211777) @@ -42,7 +42,6 @@ #include #include #include -#include #include #include #include @@ -119,7 +118,7 @@ static struct pingpong_dest *pp_client_e { struct addrinfo *res, *t; struct addrinfo hints = { - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -189,7 +188,7 @@ static struct pingpong_dest *pp_server_e struct addrinfo *res, *t; struct addrinfo hints = { .ai_flags = AI_PASSIVE, - .ai_family = AF_UNSPEC, + .ai_family = AF_INET, .ai_socktype = SOCK_STREAM }; char *service; @@ -287,7 +286,7 @@ static struct pingpong_context *pp_init_ ctx->size = size; ctx->rx_depth = rx_depth; - ctx->buf = memalign(page_size, size + 40); + ctx->buf = malloc(roundup(size + 40, page_size)); if (!ctx->buf) { fprintf(stderr, "Couldn't allocate work buf.\n"); return NULL; @@ -532,7 +531,7 @@ int main(int argc, char *argv[]) break; case 'd': - ib_devname = strdupa(optarg); + ib_devname = strdup(optarg); break; case 'i': @@ -570,7 +569,7 @@ int main(int argc, char *argv[]) } if (optind == argc - 1) - servername = strdupa(argv[optind]); + servername = strdup(argv[optind]); else if (optind < argc) { usage(argv[0]); return 1;