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