pub/scm/libs/infiniband/libmthca.git  about / heads / tags
libibverbs low-level driver for Mellanox HCAs.
$ git log --pretty=format:'%h %s (%cs)%d'
6f4dd74 Include <strings.h> as well as <string.h> for ffsl() (2013-08-19)
	(HEAD -> master)
4c8a834 Add "foreign" option to AM_INIT_AUTOMAKE (2011-08-11)
92b2856 Moving plugin out of /usr/lib means we now depend on libibverbs 1.1.3 (2011-07-06)
702785b Avoid double ntohl() in mthca_poll_one() (2011-07-06)
7ff0e2e Roll libmthca 1.0.6 release (2011-07-06)
51d7372 Note that we fix Debian bug about maintainer address in Debian changelog (2011-07-06)
cc834de Acknowledge NMU (don't ship .la file) (2011-07-05)
bd09974 Small configure.in modernizations (2011-07-05)
00e88da Enable quiet build rules with automake 1.11+ (2011-07-05)
9df5334 Revert "Update build system to use shave" (2011-07-05)
...

$ git cat-file blob HEAD:README
Introduction
============

libmthca is a userspace driver for Mellanox InfiniBand HCAs.  It works
as a plug-in module for libibverbs that allows programs to use
Mellanox hardware directly from userspace.  See the libibverbs package
for more information.

Using libmthca
==============

libmthca will be loaded and used automatically by programs linked with
libibverbs.  The ib_mthca kernel module must be loaded for HCA devices
to be detected and used.

Supported Hardware
==================

libmthca currently supports HCAs based on the following Mellanox chips:

    MT23108 InfiniHost (PCI-X)
    MT25208 InfiniHost III Ex (PCI Express)
    MT25204 InfiniHost III Lx (PCI Express)

Both non-DDR and DDR HCAs are supported, and the MT25208 is supported
with both MT23108-compatible and native MemFree firmware.

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
or HCA hardware.  Specifically, Valgrind cannot see when kernel
drivers or HCA hardware 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.

libmthca 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 libmthca and
developers can use the "valgrind debug" build by simply switching
their OPENIB_DRIVER_PATH environment variables.

Libmthca 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 libmthca build look for valgrind headers in
/opt/valgrind/include

# heads (aka `branches'):
$ git for-each-ref --sort=-creatordate refs/heads \
	--format='%(HEAD) %(refname:short) %(subject) (%(creatordate:short))'
* master       Include <strings.h> as well as <string.h> for ffsl() (2013-08-19)

# tags:
$ git for-each-ref --sort=-creatordate refs/tags \
	--format='%(refname:short) %(subject) (%(creatordate:short))'
# no tags, yet...

# associated public inboxes:
# (number on the left is used for dev purposes)
          7 lkml
          5 netdev
          2 linux-wireless
          2 linux-xfs
          2 linux-fsdevel
          2 linux-devicetree
          2 linux-arm-msm
          2 linux-mm
          2 linux-nvdimm
          2 stable
          2 linux-arm-kernel
          2 linux-rdma
          2 linuxppc-dev
          2 linux-bluetooth
          2 linux-wpan
          2 linux-doc
          2 intel-gfx
          2 linux-can
          2 nvdimm
          2 u-boot
          2 openembedded-core
          2 openembedded-devel
          2 xenomai
          2 initramfs
          2 reiserfs-devel
          1 linux-samsung-soc
          1 linux-fscrypt
          1 linux-mtd
          1 cocci
          1 linux-block
          1 linux-riscv
          1 linux-nvme
          1 live-patching
          1 bpf
          1 linux-nfs
          1 qemu-devel
          1 linux-mediatek
          1 linux-crypto
          1 linux-efi
          1 linux-acpi
          1 netfilter-devel
          1 linux-integrity
          1 linux-edac
          1 linux-cifs
          1 linux-amlogic
          1 linux-erofs
          1 linux-iommu
          1 linux-media
          1 xen-devel
          1 linux-snps-arc
          1 linux-mips
          1 fstests
          1 linux-pm
          1 linux-hwmon
          1 linux-rtc
          1 linux-input
          1 alsa-devel
          1 linux-scsi
          1 linux-btrfs
          1 kvmarm
          1 driverdev-devel
          1 linux-usb
          1 linux-renesas-soc
          1 linux-kselftest
          1 selinux
          1 kernel-hardening
          1 linux-clk
          1 linux-iio
          1 linux-gpio
          1 dmaengine
          1 linux-next
          1 linux-parisc
          1 linux-ext4
          1 dpdk-dev
          1 linux-leds
          1 linux-security-module
          1 linux-pci
          1 linux-f2fs-devel
          1 kvm
          1 linux-modules
          1 kernelnewbies
          1 linux-rt-users
          1 linux-sgx
          1 linux-ide
          1 linux-serial
          1 linux-watchdog
          1 linux-trace-devel
          1 linux-hyperv
          1 workflows
          1 rcu
          1 linux-m68k
          1 linux-i3c
          1 util-linux
          1 linux-spdx
          1 ksummit-discuss
          1 wireguard
          1 backports
          1 io-uring
          1 linux-kernel-mentees
          1 git
          1 linux-csky
          1 linux-man
          1 linux-mmc
          1 amd-gfx
          1 dri-devel
          1 tpmdd-devel
          1 linux-unionfs
          1 linux-firmware
          1 linux-api
          1 cip-dev
          1 linux-omap
          1 linux-audit
          1 linux-spi
          1 linux-i2c
          1 linux-remoteproc
          1 linux-dash
          1 linux-bcache
          1 linux-sparse
          1 mm-commits
          1 linux-pwm
          1 linux-tegra
          1 lttng-dev
          1 virtualization
          1 linux-kbuild
          1 linux-fpga
          1 ceph-devel
          1 linux-arch
          1 containers
          1 linux-rockchip
          1 linux-raid
          1 xdp-newbies
          1 platform-driver-x86
          1 phone-devel
          1 openbmc
          1 linux-hardening
          1 dash
          1 dm-devel
          1 keyrings
          1 linux-fbdev
          1 linux-sctp
          1 linux-cxl
          1 linux-perf-users
          1 target-devel
          1 lustre-devel
          1 linux-sh
          1 soc
          1 ocfs2-devel
          1 rust-for-linux
          1 ath10k
          1 ath11k
          1 nouveau
          1 linux-phy
          1 linux-s390
          1 kernel-janitors
          1 sparclinux
          1 linux-staging
          1 linux-sunxi
          1 mptcp
          1 linux-coco
          1 regressions
          1 ksummit
          1 b43-dev
          1 linux-nfc
          1 linux-bcachefs
          1 ath9k-devel
          1 buildroot
          1 ntfs3
          1 llvm
          1 fio
          1 iwd
          1 ell
          1 ofono
          1 ltp
          1 yocto
          1 yocto-meta-freescale
          1 yocto-toaster
          1 yocto-meta-arm
          1 yocto-docs
          1 bitbake-devel
          1 linux-patches
          1 yocto-meta-virtualization
          1 chrome-platform
          1 ntb
          1 yocto-meta-ti
          1 yocto-meta-arago
          1 outreachy
          1 damon
          1 asahi
          1 openrisc
          1 intel-wired-lan
          1 kexec
          1 loongarch
          1 imx
          1 ath12k
          1 b4-sent
          1 linux-trace-kernel
          1 oe-linux-nfc
          1 oe-kbuild-all
          1 oe-chipsec
          1 batman
          1 intel-xe
          1 linux-um
          1 virtio-dev
          1 virtio-comment
          1 v9fs
          1 ecryptfs
          1 poky
          1 qemu-riscv
          1 linux-ia64
          1 cluster-devel
          1 grub-devel
          1 kbd
          1 autofs
          1 cpufreq
          1 dccp
          1 cgroups
          1 devicetree-spec
          1 devicetree-compiler
          1 kvm-ppc
          1 hail-devel
          1 kvm-ia64
          1 linux-8086
          1 kernel-testers
          1 linux-alpha
          1 linux-btrace
          1 linux-embedded
          1 linux-hams
          1 linux-hexagon
          1 linux-hotplug
          1 linux-laptop
          1 linux-sound
          1 trinity
          1 linux-metag
          1 linux-x25
          1 linux-nilfs
          1 lvs-devel
          1 netfilter
          1 linux-oxnas
          1 u-boot-amlogic
          1 lm-sensors
          1 lvm-devel
          1 acpica-devel
          1 perfbook
          1 virtio-fs
          1 smatch
          1 ../../../../../fuego
          1 ../../../../../accel-config
          1 ../../../../../wireless-regdb
          1 ../../../../../igt-dev
          1 ../../../../../powertop

git clone https://yhbt.net/lore/pub/scm/libs/infiniband/libmthca.git