NameDateSize

..20-Dec-201613

AUTHORSH A D08-Mar-201535

autogen.shH A D08-Mar-2015123

config/H20-Dec-20162

configure.inH A D08-Mar-20152.9 KiB

COPYINGH A D08-Mar-201519.3 KiB

debian/H20-Dec-201610

fixes/H20-Dec-201613

libmlx4.spec.inH A D08-Mar-20151.8 KiB

Makefile.amH A D08-Mar-2015855

mlx4.driverH A D08-Mar-201512

READMEH A D08-Mar-20152.3 KiB

src/H20-Dec-201614

README

1Introduction
2============
3
4libmlx4 is a userspace driver for Mellanox ConnectX InfiniBand HCAs.
5It is a plug-in module for libibverbs that allows programs to use
6Mellanox hardware directly from userspace.  See the libibverbs package
7for more information.
8
9Using libmlx4
10==============
11
12libmlx4 will be loaded and used automatically by programs linked with
13libibverbs.  The mlx4_ib kernel module must be loaded for HCA devices
14to be detected and used.
15
16Supported Hardware
17==================
18
19libmlx4 currently supports HCAs based on the following Mellanox chip:
20
21    MT25408 ConnectX (PCI Express)
22
23These HCAs use the mlx4_ib kernel driver.  Support for other Mellanox
24HCAs, which use the ib_mthca kernel driver, is provided by the
25libmthca userspace driver.
26
27Valgrind Support
28================
29
30When running applications that use libibverbs under the Valgrind
31memory-checking debugger, Valgrind will falsely report "read from
32uninitialized" for memory that was initialized by the kernel drivers
33or HCA hardware.  Specifically, Valgrind cannot see when kernel
34drivers or HCA hardware write to userspace memory, so when the process
35reads from that memory, Valgrind incorrectly assumes that the memory
36contents are uninitialized, and therefore raises a warning.
37
38libmlx4 can be built with specific support for the Valgrind
39memory-checking debugger by specifying the --with-valgrind command
40line argument to configure.  This flag enables code in libibverbs to
41tell Valgrind "this memory may look uninitialized, but it's really
42OK," which therefore suppresses the incorrect "read from
43uninitialized" warnings.  This code adds trivial overhead to the
44critical performance path, so it is disabled by default.  The intent
45is that production users can use a "normal" build of libmlx4 and
46developers can use the "valgrind debug" build by simply switching
47their OPENIB_DRIVER_PATH environment variables.
48
49Libmlx4 needs some header files from Valgrind in order to compile this
50support; it is important to use the header files from the same version
51of Valgrind that will be used at run time.  You may need to specify
52the directory where Valgrind's header files are installed as an
53argument to --with-valgrind.  For example
54
55	./configure --with-valgrind=/opt/valgrind
56
57will make the libmlx4 build look for valgrind headers in
58/opt/valgrind/include
59