pub/scm/libs/infiniband/libmlx4.git  about / heads / tags
libibverbs low-level driver for Mellanox ConnectX HCAs.
$ git log --pretty=format:'%h %s (%cs)%d'
56fb61a Roll libmlx4 1.0.6 release (2014-05-06)
	(HEAD -> master, tag: libmlx4-1.0.6)
d2c392b Enable subdir-objects for automake (2014-05-06)
73c0a80 Use dh-autoreconf to fix build on ppc64el (2014-05-05)
1b6875d Add receive flow steering support (2014-05-05)
dc6ef69 Add support for XRC QPs (2014-01-29)
d00cfeb Update to use libiverbs extension support / verbs_register_driver() (2014-01-29)
bcc5d06 Remove compatibility with libibverbs < 1.1.7 (2014-01-29)
65585f6 resize_cq: Fix possible endless loop scanning CQ (2013-11-15)
bac599f Roll libmlx4 1.0.5 release (2013-05-30)
	(tag: libmlx4-1.0.5)
36bb40e configure: Minor updates suggested by autoupdate (2013-05-28)
...

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

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

Using libmlx4
==============

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

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

libmlx4 currently supports HCAs based on the following Mellanox chip:

    MT25408 ConnectX (PCI Express)

These HCAs use the mlx4_ib kernel driver.  Support for other Mellanox
HCAs, which use the ib_mthca kernel driver, is provided by the
libmthca userspace driver.

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.

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

Libmlx4 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 libmlx4 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       Roll libmlx4 1.0.6 release (2014-05-06)

# tags:
$ git for-each-ref --sort=-creatordate refs/tags \
	--format='%(refname:short) %(subject) (%(creatordate:short))'
libmlx4-1.0.6 libmlx4-1.0.6 (2014-05-07) tar.gz
libmlx4-1.0.5 libmlx4-1.0.5 (2013-05-30) tar.gz
libmlx4-1.0.4 libmlx4-1.0.4 (2012-03-28) tar.gz
libmlx4-1.0.3 libmlx4-1.0.3 (2012-03-26) tar.gz
libmlx4-1.0.2 libmlx4-1.0.2 (2011-07-06) tar.gz
libmlx4-1.0.1 libmlx4-1.0.1 (2009-06-17) tar.gz
libmlx4-1.0  libmlx4-1.0 (2007-12-14) tar.gz
libmlx4-1.0-rc1 libmlx4-1.0-rc1 (2007-11-30) tar.gz

# associated public inboxes:
# (number on the left is used for dev purposes)
         21 linux-rdma
          5 lkml
          3 xen-devel
          3 linuxppc-dev
          2 linux-wireless
          2 linux-mm
          2 linux-arm-kernel
          2 git
          2 dri-devel
          2 linux-can
          2 openembedded-devel
          2 xenomai
          2 batman
          2 grub-devel
          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 linux-xfs
          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-fsdevel
          1 linux-edac
          1 linux-cifs
          1 linux-devicetree
          1 linux-arm-msm
          1 linux-amlogic
          1 linux-erofs
          1 linux-nvdimm
          1 linux-iommu
          1 netdev
          1 linux-media
          1 stable
          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-bluetooth
          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 linux-wpan
          1 ksummit-discuss
          1 wireguard
          1 backports
          1 io-uring
          1 linux-kernel-mentees
          1 linux-doc
          1 linux-csky
          1 linux-man
          1 linux-mmc
          1 amd-gfx
          1 intel-gfx
          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 nvdimm
          1 linux-nfc
          1 u-boot
          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 openembedded-core
          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 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 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/libmlx4.git