NameDateSize

..22-Dec-201614

AUTHORSH A D08-Mar-201576

autogen.shH A D08-Mar-2015123

ChangeLogH A D08-Mar-201513.4 KiB

config/H20-Dec-20162

configure.inH A D08-Mar-20152.4 KiB

COPYINGH A D08-Mar-201519.4 KiB

debian/H20-Dec-201610

libmthca.spec.inH A D08-Mar-20152.7 KiB

Makefile.amH A D08-Mar-20151 KiB

mthca.driverH A D08-Mar-201513

READMEH A D08-Mar-20152.3 KiB

src/H20-Dec-201615

README

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