Userland without buildworld?

Jason Bacon bacon4000 at gmail.com
Mon Apr 25 21:55:50 UTC 2016


I explored /usr/src a bit to see where WITH_OFED actually comes into 
play.  For the most part, it appears to be just adding the following to 
the build tree:

/usr/src/contrib/ofed
/usr/src/sys/ofed

Outside the ofed directories and the kernel, it doesn't seem to do a 
lot, as I would expect.

/usr/src/etc/rc.d/Makefile optionally builds opensm.
/usr/src/usr.bin/netstat/Makefile adds --DSDP to CFLAGS.

It would seem to me that it should be possible to build OFED userland 
support without wasting time building the > 99% of the code that has 
nothing to do with it.

Does anyone know of a proven method to build and install the OFED 
userland without doing an entire buildworld?

This would go a long way toward easing deployment of the IB stack en masse.

I suspect that there would be stiff resistance to the idea of including 
IB support in the default builds, since it would add some bulk and so 
few people will ever use it.  It may therefore be on those of us who are 
interested in finding efficient ways to deploy IB support.

Regards,

     Jason

P.S. Step 1 in my exploration:

<<<ROOT at unixdev.local>>> /home/bacon 1001 # find /usr/src/ -type f -exec 
fgrep -l OFED '{}' \;
/usr/src/tools/build/options/WITH_OFED
/usr/src/etc/rc.d/Makefile
/usr/src/share/man/man5/src.conf.5
/usr/src/share/man/man5/pf.conf.5
/usr/src/share/mk/bsd.own.mk
/usr/src/contrib/ofed/libmlx4/fixes/lim_qp_resources.patch
/usr/src/contrib/ofed/libmlx4/fixes/userspace_dev_lims.patch
/usr/src/contrib/ofed/libmlx4/fixes/xrc_consolidated_v2.patch
/usr/src/contrib/ofed/libmlx4/fixes/xrc_kernel_user_mismatch.patch
/usr/src/contrib/ofed/libsdp/README
/usr/src/contrib/ofed/usr.lib/libsdp/Makefile
/usr/src/contrib/ofed/libibverbs/fixes/XRC_RCV_QP.patch
/usr/src/contrib/ofed/libibverbs/fixes/pthread_cond_t_fields.patch
/usr/src/contrib/ofed/libibverbs/fixes/XRC_base_implementation.patch
/usr/src/contrib/ofed/management/opensm/doc/opensm_release_notes_openib-1.2.1.txt
/usr/src/contrib/ofed/management/opensm/doc/opensm_release_notes_openib-2.0.5.txt
/usr/src/contrib/ofed/management/opensm/doc/opensm_release_notes-3.2.txt
/usr/src/contrib/ofed/management/opensm/doc/opensm_release_notes_openib-3.0.13.txt
/usr/src/contrib/ofed/management/opensm/doc/performance-manager-HOWTO.txt
/usr/src/contrib/ofed/management/opensm/doc/opensm_release_notes-3.1.10.txt
/usr/src/contrib/ofed/management/opensm/doc/opensm_release_notes-3.1.11.txt
/usr/src/contrib/ofed/management/opensm/complib/ChangeLog
/usr/src/contrib/ofed/management/infiniband-diags/infiniband-diags.spec.in
/usr/src/sys/modules/ibcore/Makefile
/usr/src/sys/modules/ipoib/Makefile
/usr/src/sys/modules/Makefile
/usr/src/sys/modules/mlx4ib/Makefile
/usr/src/sys/amd64/conf/NOTES
/usr/src/sys/i386/conf/NOTES
/usr/src/sys/conf/kern.pre.mk
/usr/src/sys/conf/options
/usr/src/sys/conf/files
/usr/src/sys/sys/socket.h
/usr/src/sys/ofed/include/linux/module.h
/usr/src/sys/ofed/drivers/infiniband/hw/mlx4/main.c
/usr/src/sys/ofed/drivers/net/mlx4/main.c
/usr/src/sys/ofed/drivers/net/mlx4/mlx4.h
/usr/src/sys/ofed/drivers/net/mlx4/en_main.c
/usr/src/usr.bin/netstat/Makefile
/usr/src/Makefile.inc1

-- 
All wars are civil wars, because all men are brothers ... Each one owes
infinitely more to the human race than to the particular country in
which he was born.
                 -- Francois Fenelon



More information about the freebsd-infiniband mailing list