Date: Fri, 25 Jun 2010 22:26:27 +0000 (UTC) From: Jeff Roberson <jeff@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: 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 Message-ID: <201006252226.o5PMQRe2036855@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006252226.o5PMQRe2036855>