mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-25 09:26:36 +07:00
cee2688e3c
Use CPU ability to perform CRC calculations, by
replacing direct calls to crc32_le() with crypto_shash_updata().
The overall performance gain measured with ib_send_bw tool is 10% and it
was tested on "Intel CPU ES-2660 v2 @ 2.20Ghz" CPU.
ib_send_bw -d rxe0 -x 1 -n 9000 -e -s $((1024 * 1024 )) -l 100
---------------------------------------------------------------------------------------------
| | bytes | iterations | BW peak[MB/sec] | BW average[MB/sec] | MsgRate[Mpps] |
---------------------------------------------------------------------------------------------
| crc32_le | 1048576 | 9000 | inf | 497.60 | 0.000498 |
| CRC offload | 1048576 | 9000 | inf | 546.70 | 0.000547 |
---------------------------------------------------------------------------------------------
Fixes: 8700e3e7c4
("Soft RoCE driver")
Signed-off-by: Yonatan Cohen <yonatanc@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
27 lines
1.1 KiB
Plaintext
27 lines
1.1 KiB
Plaintext
config RDMA_RXE
|
|
tristate "Software RDMA over Ethernet (RoCE) driver"
|
|
depends on INET && PCI && INFINIBAND
|
|
depends on NET_UDP_TUNNEL
|
|
depends on CRYPTO_CRC32
|
|
select DMA_VIRT_OPS
|
|
---help---
|
|
This driver implements the InfiniBand RDMA transport over
|
|
the Linux network stack. It enables a system with a
|
|
standard Ethernet adapter to interoperate with a RoCE
|
|
adapter or with another system running the RXE driver.
|
|
Documentation on InfiniBand and RoCE can be downloaded at
|
|
www.infinibandta.org and www.openfabrics.org. (See also
|
|
siw which is a similar software driver for iWARP.)
|
|
|
|
The driver is split into two layers, one interfaces with the
|
|
Linux RDMA stack and implements a kernel or user space
|
|
verbs API. The user space verbs API requires a support
|
|
library named librxe which is loaded by the generic user
|
|
space verbs API, libibverbs. The other layer interfaces
|
|
with the Linux network stack at layer 3.
|
|
|
|
To configure and work with soft-RoCE driver please use the
|
|
following wiki page under "configure Soft-RoCE (RXE)" section:
|
|
|
|
https://github.com/linux-rdma/rdma-core/blob/master/Documentation/rxe.md
|