diff options
author | Jeff Squyres <jsquyres@cisco.com> | 2006-10-17 22:33:15 +0000 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-11-09 11:36:33 -0800 |
commit | 8280a953b1f687218eaca34dc97dff05541bbe30 (patch) | |
tree | 3256fa9c4c3cf7eaf13fbe3fad965da9e95a4804 | |
parent | f188bf878fca16e1fb1a7eaa839ea9f238ea94a2 (diff) | |
download | libibverbs-8280a953b1f687218eaca34dc97dff05541bbe30.tar.gz |
Add README notes about Valgrind memcheck support
Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r-- | README | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -60,6 +60,39 @@ via the file /etc/security/limits.conf. More configuration may be necessary if you are logging in via OpenSSH and your sshd is configured to use privilege separation. +Valgrind support +---------------- + +When running applications that use libibverbs under the Valgrind +memory-checking debugger, Valgrind will falsely report "read from +uninitialized" for memory that was initialized by the kernel drivers. +Specifically, Valgrind cannot see when kernel drivers write to +userspace memory, so when the process reads from that memory, Valgrind +incorrectly assumes that the memory contents are uninitialized, and +therefore raises a warning. + +libibverbs can be built with specific support for the Valgrind +memory-checking debugger by specifying the --with-valgrind command +line argument to configure. This flag enables code in libibverbs to +tell Valgrind "this memory may look uninitialized, but it's really +OK," which therefore suppresses the incorrect "read from +uninitialized" warnings. This code adds trivial overhead to the +critical performance path, so it is disabled by default. The intent +is that production users can use a "normal" build of libibverbs and +developers can use the "valgrind debug" build by simply switching +their LD_LIBRARY_PATH and/or OPENIB_DRIVER_PATH environment variables. + +Libibverbs needs some header files from Valgrind in order to compile +this support; it is important to use the header files from the same +version of Valgrind that will be used at run time. You may need to +specify the directory where Valgrind's header files are installed as +an argument to --with-valgrind. For example + + ./configure --with-valgrind=/opt/valgrind + +will make the libibverbs build look for valgrind headers in +/opt/valgrind/include + Reporting bugs ============== |