When sending from a 10G host to a 1G host, it is easy to overrun the receiver, leading to packet loss and traffic backing off. Similar problems occur when a 10G host sends data to a sub-10G virtual circuit, or a 40G host sending to a 10G host. Packet pacing could control packet injection rate and reduces network congestion to maximize throughput & minimize network latency. Packet pacing is a rate limiting and shaping for a QP (SQ for RAW QP), set and change the rate is done by modifying QP. This series of patch made the following high level changes: 1. Report rate limit capabilities through user data. Reported capabilities include: The maximum and minimum rate limit in kbps supported by packet pacing; Bitmap showing which QP types are supported by packet pacing operation. 2. Extend modify QP interface for growing attributes. Add rate limit support to the extended interface. 3. Enable mlx5-based hardware to be able to update the rate limit for RAW QP packet. Available in the "topic/packet_pacing" topic branch of this git repo: git://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git Or for browsing: https://git.kernel.org/cgit/linux/kernel/git/leon/linux-rdma.git/log/?h=topic/packet_pacing Thanks, Bodong & Leon Bodong Wang (4): IB/mlx5: Report mlx5 packet pacing capabilities when querying device IB/core: Support rate limit for packet pacing IB/uverbs: Extend modify_qp and support packet pacing IB/mlx5: Update the rate limit according to user setting for RAW QP drivers/infiniband/core/uverbs.h | 1 + drivers/infiniband/core/uverbs_cmd.c | 178 +++++++++++++++++++++------------- drivers/infiniband/core/uverbs_main.c | 1 + drivers/infiniband/core/verbs.c | 2 + drivers/infiniband/hw/mlx5/main.c | 16 ++- drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 + drivers/infiniband/hw/mlx5/qp.c | 71 ++++++++++++-- include/rdma/ib_verbs.h | 2 + include/uapi/rdma/ib_user_verbs.h | 12 +++ include/uapi/rdma/mlx5-abi.h | 13 +++ 10 files changed, 219 insertions(+), 78 deletions(-) -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html