linux/dim: Implement RDMA adaptive moderation (DIM)
authorYamin Friedman <yaminf@mellanox.com>
Mon, 8 Jul 2019 10:59:02 +0000 (13:59 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Mon, 8 Jul 2019 19:37:21 +0000 (16:37 -0300)
commitf4915455dcf07c4f237d6160a4b6adb0575d2909
tree7d0157771b77fd5b514e54524ba65ca95f81d2cd
parent2ef38e380ea6a80fed5be21e9f7af31c02dea09e
linux/dim: Implement RDMA adaptive moderation (DIM)

RDMA DIM implements a different algorithm from net DIM and is based on
completions which is how we can implement interrupt moderation in RDMA.

The algorithm optimizes for number of completions and ratio between
completions and events. In order to avoid long latencies, the
implementation performs fast reduction of moderation level when the
traffic changes.

Signed-off-by: Yamin Friedman <yaminf@mellanox.com>
Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
include/linux/dim.h
lib/dim/Makefile
lib/dim/rdma_dim.c [new file with mode: 0644]