Re: [PATCH rdma-next] IB/mlx5: posting klm/mtt list inline in the send queue for reg_wr

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2018-05-02 at 13:16 +0300, Leon Romanovsky wrote:
> From: Idan Burstein <idanb@xxxxxxxxxxxx>
> 
> As most kernel RDMA ULPs, (e.g. NVMe over Fabrics in its default
> "register_always=Y" mode) registers and invalidates user buffer
> upon each IO.
> 
> Today the mlx5 driver is posting the registration work
> request using scatter/gather entry for the MTT/KLM list.
> The fetch of the MTT/KLM list becomes the bottleneck in
> number of IO operation could be done by NVMe over Fabrics
> host driver on a single adapter as shown below.
> 
> This patch is adding the support for inline registration
> work request upon MTT/KLM list of size <=64B.
> 
> The result for NVMe over Fabrics is increase of > x3.5 for small
> IOs as shown below, I expect other ULPs (e.g iSER, SRP, NFS over RDMA)
> performance to be enhanced as well.
> 
> The following results were taken against a single NVMe-oF (RoCE link layer)
> subsystem with a single namespace backed by null_blk using fio benchmark
> (with rw=randread, numjobs=48, iodepth={16,64}, ioengine=libaio direct=1):
> 
> ConnectX-5 (pci Width x16)
> ---------------------------
> 
> Block Size       s/g reg_wr            inline reg_wr
> ++++++++++     +++++++++++++++        ++++++++++++++++
> 512B            1302.8K/34.82%         4951.9K/99.02%
> 1KB             1284.3K/33.86%         4232.7K/98.09%
> 2KB             1238.6K/34.1%          2797.5K/80.04%
> 4KB             1169.3K/32.46%         1941.3K/61.35%
> 8KB             1013.4K/30.08%         1236.6K/39.47%
> 16KB            695.7K/20.19%          696.9K/20.59%
> 32KB            350.3K/9.64%           350.6K/10.3%
> 64KB            175.86K/5.27%          175.9K/5.28%
> 
> ConnectX-4 (pci Width x8)
> ---------------------------
> 
> Block Size       s/g reg_wr            inline reg_wr
> ++++++++++     +++++++++++++++        ++++++++++++++++
> 512B            1285.8K/42.66%          4242.7K/98.18%
> 1KB             1254.1K/41.74%          3569.2K/96.00%
> 2KB             1185.9K/39.83%          2173.9K/75.58%
> 4KB             1069.4K/36.46%          1343.3K/47.47%
> 8KB             755.1K/27.77%           748.7K/29.14%
> 
> Tested-by: Nitzan Carmi <nitzanc@xxxxxxxxxxxx>
> Signed-off-by: Idan Burstein <idanb@xxxxxxxxxxxx>
> Signed-off-by: Max Gurtovoy <maxg@xxxxxxxxxxxx>
> Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx>

Thanks, applied to for-next.

-- 
Doug Ledford <dledford@xxxxxxxxxx>
    GPG KeyID: B826A3330E572FDD
    Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux