svn commit: r209526 - in projects/ofed/head/contrib/ofed: libibverbs/src libmlx4/src usr.lib/libibcommon usr.lib/libibmad usr.lib/libibumad usr.lib/libibverbs

Jeff Roberson jeff at FreeBSD.org
Fri Jun 25 22:26:28 UTC 2010


Author: jeff
Date: Fri Jun 25 22:26:27 2010
New Revision: 209526
URL: http://svn.freebsd.org/changeset/base/209526

Log:
   - Adjust for minherit/madvise differences between linux and bsd.
   - Update some bmake wrappers and add new ones for some management libs.
  
  Sponsored by: Isilon Systems, iX Systems, and Panasas.

Added:
  projects/ofed/head/contrib/ofed/usr.lib/libibcommon/
  projects/ofed/head/contrib/ofed/usr.lib/libibcommon/Makefile
  projects/ofed/head/contrib/ofed/usr.lib/libibmad/
  projects/ofed/head/contrib/ofed/usr.lib/libibmad/Makefile
  projects/ofed/head/contrib/ofed/usr.lib/libibmad/config.h
  projects/ofed/head/contrib/ofed/usr.lib/libibumad/
  projects/ofed/head/contrib/ofed/usr.lib/libibumad/Makefile
  projects/ofed/head/contrib/ofed/usr.lib/libibumad/config.h
Modified:
  projects/ofed/head/contrib/ofed/libibverbs/src/memory.c
  projects/ofed/head/contrib/ofed/libmlx4/src/buf.c
  projects/ofed/head/contrib/ofed/usr.lib/libibverbs/alloca.h
  projects/ofed/head/contrib/ofed/usr.lib/libibverbs/config.h

Modified: projects/ofed/head/contrib/ofed/libibverbs/src/memory.c
==============================================================================
--- projects/ofed/head/contrib/ofed/libibverbs/src/memory.c	Fri Jun 25 22:23:41 2010	(r209525)
+++ projects/ofed/head/contrib/ofed/libibverbs/src/memory.c	Fri Jun 25 22:26:27 2010	(r209526)
@@ -46,6 +46,7 @@
 /*
  * Most distro's headers don't have these yet.
  */
+#ifdef	__linux__
 #ifndef MADV_DONTFORK
 #define MADV_DONTFORK	10
 #endif
@@ -53,6 +54,10 @@
 #ifndef MADV_DOFORK
 #define MADV_DOFORK	11
 #endif
+#else
+#define	MADV_DONTFORK	INHERIT_NONE
+#define	MADV_DOFORK	INHERIT_SHARE
+#endif
 
 struct ibv_mem_node {
 	enum {
@@ -72,8 +77,10 @@ static int too_late;
 
 int ibv_fork_init(void)
 {
+#ifdef __linux__
 	void *tmp;
 	int ret;
+#endif
 
 	if (mm_root)
 		return 0;
@@ -85,6 +92,7 @@ int ibv_fork_init(void)
 	if (page_size < 0)
 		return errno;
 
+#ifdef __linux__
 	if (posix_memalign(&tmp, page_size, page_size))
 		return ENOMEM;
 
@@ -95,6 +103,7 @@ int ibv_fork_init(void)
 
 	if (ret)
 		return ENOSYS;
+#endif
 
 	mm_root = malloc(sizeof *mm_root);
 	if (!mm_root)
@@ -569,10 +578,10 @@ again:
 			 * and that may lead to a spurious failure.
 			 */
 			if (start > node->start)
-				ret = madvise((void *) start, node->end - start + 1,
+				ret = minherit((void *) start, node->end - start + 1,
 					      advice);
 			else
-				ret = madvise((void *) node->start,
+				ret = minherit((void *) node->start,
 					      node->end - node->start + 1,
 					      advice);
 			if (ret) {

Modified: projects/ofed/head/contrib/ofed/libmlx4/src/buf.c
==============================================================================
--- projects/ofed/head/contrib/ofed/libmlx4/src/buf.c	Fri Jun 25 22:23:41 2010	(r209525)
+++ projects/ofed/head/contrib/ofed/libmlx4/src/buf.c	Fri Jun 25 22:26:27 2010	(r209526)
@@ -65,7 +65,7 @@ int mlx4_alloc_buf(struct mlx4_buf *buf,
 
 	buf->length = align(size, page_size);
 	buf->buf = mmap(NULL, buf->length, PROT_READ | PROT_WRITE,
-			MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+			MAP_PRIVATE | MAP_ANON, -1, 0);
 	if (buf->buf == MAP_FAILED)
 		return errno;
 

Added: projects/ofed/head/contrib/ofed/usr.lib/libibcommon/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ofed/head/contrib/ofed/usr.lib/libibcommon/Makefile	Fri Jun 25 22:26:27 2010	(r209526)
@@ -0,0 +1,24 @@
+# $FreeBSD$
+
+SHLIBDIR?=	/usr/lib
+
+.include <bsd.own.mk>
+
+IBCOMMONDIR= 	../../management/libibcommon
+IBSRCDIR=	${IBCOMMONDIR}/src
+OFEDSYS= 	../../../../sys/ofed
+
+.PATH: ${IBSRCDIR}
+
+LIB=		ibcommon
+SHLIB_MAJOR=	1
+NO_PROFILE=
+
+SRCS=	sysfs.c util.c hash.c stack.c time.c
+
+CFLAGS+= -I${.CURDIR} -I${IBSRCDIR} -I${IBCOMMONDIR}/include
+CFLAGS+= -I${OFEDSYS}/include -I${IBCOMMONDIR}/include/infiniband
+
+VERSION_MAP= ${IBSRCDIR}/libibcommon.map
+
+.include <bsd.lib.mk>

Added: projects/ofed/head/contrib/ofed/usr.lib/libibmad/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ofed/head/contrib/ofed/usr.lib/libibmad/Makefile	Fri Jun 25 22:26:27 2010	(r209526)
@@ -0,0 +1,28 @@
+# $FreeBSD$
+
+SHLIBDIR?=	/usr/lib
+
+.include <bsd.own.mk>
+
+IBMADDIR= 	../../management/libibmad
+COMMONDIR=	../../management/libibcommon/include
+UMADDIR=	../../management/libibumad/include
+IBSRCDIR=	${IBMADDIR}/src
+OFEDSYS= 	../../../../sys/ofed
+
+.PATH: ${IBSRCDIR}
+
+LIB=		ibmad
+SHLIB_MAJOR=	1
+NO_PROFILE=
+
+SRCS=	dump.c fields.c gs.c mad.c portid.c register.c resolve.c rpc.c sa.c \
+	serv.c smp.c vendor.c
+
+CFLAGS+= -DHAVE_CONFIG_H
+CFLAGS+= -I${.CURDIR} -I${IBSRCDIR} -I${IBMADDIR}/include -I${COMMONDIR}
+CFLAGS+= -I${OFEDSYS}/include -I${IBMADDIR}/include/infiniband -I${UMADDIR}
+
+VERSION_MAP= ${IBSRCDIR}/libibmad.map
+
+.include <bsd.lib.mk>

Added: projects/ofed/head/contrib/ofed/usr.lib/libibmad/config.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ofed/head/contrib/ofed/usr.lib/libibmad/config.h	Fri Jun 25 22:26:27 2010	(r209526)
@@ -0,0 +1 @@
+#include <sys/socket.h>

Added: projects/ofed/head/contrib/ofed/usr.lib/libibumad/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ofed/head/contrib/ofed/usr.lib/libibumad/Makefile	Fri Jun 25 22:26:27 2010	(r209526)
@@ -0,0 +1,27 @@
+# $FreeBSD$
+
+SHLIBDIR?=	/usr/lib
+
+.include <bsd.own.mk>
+
+IBMADDIR= 	../../management/libibmad
+COMMONDIR=	../../management/libibcommon/include
+UMADDIR=	../../management/libibumad
+IBSRCDIR=	${UMADDIR}/src
+OFEDSYS= 	../../../../sys/ofed
+
+.PATH: ${IBSRCDIR}
+
+LIB=		ibumad
+SHLIB_MAJOR=	1
+NO_PROFILE=
+
+SRCS=	umad.c
+
+CFLAGS+= -DHAVE_CONFIG_H
+CFLAGS+= -I${.CURDIR} -I${IBSRCDIR} -I${IBMADDIR}/include -I${COMMONDIR}
+CFLAGS+= -I${OFEDSYS}/include -I${UMADDIR}/include/infiniband
+
+VERSION_MAP= ${IBSRCDIR}/libibumad.map
+
+.include <bsd.lib.mk>

Added: projects/ofed/head/contrib/ofed/usr.lib/libibumad/config.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ofed/head/contrib/ofed/usr.lib/libibumad/config.h	Fri Jun 25 22:26:27 2010	(r209526)
@@ -0,0 +1 @@
+#include <sys/socket.h>

Modified: projects/ofed/head/contrib/ofed/usr.lib/libibverbs/alloca.h
==============================================================================
--- projects/ofed/head/contrib/ofed/usr.lib/libibverbs/alloca.h	Fri Jun 25 22:23:41 2010	(r209525)
+++ projects/ofed/head/contrib/ofed/usr.lib/libibverbs/alloca.h	Fri Jun 25 22:26:27 2010	(r209526)
@@ -0,0 +1,18 @@
+#ifndef _LIBIBVERBS_ALLOCA_H_
+#define	_LIBIBVERBS_ALLOCA_H_
+#include <stdlib.h>
+#include <string.h>
+#include <stdlib.h>
+
+#define	strdupa(_s)						\
+({								\
+	char *_d;						\
+	int _len;						\
+								\
+	_len = strlen(_s) + 1;					\
+	_d = alloca(_len);					\
+	if (_d)							\
+		memcpy(_d, _s, _len);				\
+	_d;							\
+})
+#endif	/* _LIBIBVERBS_ALLOCA_H_ */

Modified: projects/ofed/head/contrib/ofed/usr.lib/libibverbs/config.h
==============================================================================
--- projects/ofed/head/contrib/ofed/usr.lib/libibverbs/config.h	Fri Jun 25 22:23:41 2010	(r209525)
+++ projects/ofed/head/contrib/ofed/usr.lib/libibverbs/config.h	Fri Jun 25 22:26:27 2010	(r209526)
@@ -0,0 +1,2 @@
+#define _WITH_GETLINE
+#include <alloca.h>


More information about the svn-src-projects mailing list