[dpdk-dev] [PATCH 00/17] Enhance mlx5 with Mellanox OFED 3.1
My laboratory (an.kaist.ac.kr) had tried to build a native kernel driver for mlx4 a few months ago, and sent the full patch to the patchwork system: http://dpdk.org/dev/patchwork/patch/6128/ This driver supports only minimal RX/TX of packets, and many standard features such as VLAN are missing. The major technical difficulty was to make a memory region that is persistent even when the user process terminates. We have sent another patch for this: http://dpdk.org/dev/patchwork/patch/6127/ Nonetheless, we abandoned this approach, because the new mlx4 PMD based on OFED 3.0 performed almost same or better than our native driver with an almost complete feature set. Still, I believe that there are rooms to improve/optimize the native driver but we just do not have enough human resources for that. In background, we tried to publish a academic paper about an automated convertor from Linux NIC drivers to DPDK poll-mode drivers, but unfortunately this project is being hold back now. Regards, Joongi 2015? 10? 6? (?) ?? 5:54, Stephen Hemminger ?? ??: > On Mon, 5 Oct 2015 19:54:35 +0200 > Adrien Mazarguil wrote: > > > Mellanox OFED 3.1 [1] comes with improved APIs that Mellanox ConnectX-4 > > (mlx5) adapters can take advantage of, such as: > > > > - Separate post and doorbell operations on all queues. > > - Lightweight RX queues called Work Queues (WQs). > > - Low-level RSS indirection table and hash key configuration. > > > > This patchset enhances mlx5 with all of these for better performance and > > flexibility. Documentation is updated accordingly. > > Has anybody explored doing a driver without the dependency on OFED? > It is certainly possible. The Linux kernel drivers don't depend on it. > And dropping OFED would certainly be faster. >
[dpdk-dev] [PATCH 00/17] Enhance mlx5 with Mellanox OFED 3.1
Le 6 oct. 2015 09:54, "Stephen Hemminger" a ?crit : > > On Mon, 5 Oct 2015 19:54:35 +0200 > Adrien Mazarguil wrote: > > > Mellanox OFED 3.1 [1] comes with improved APIs that Mellanox ConnectX-4 > > (mlx5) adapters can take advantage of, such as: > > > > - Separate post and doorbell operations on all queues. > > - Lightweight RX queues called Work Queues (WQs). > > - Low-level RSS indirection table and hash key configuration. > > > > This patchset enhances mlx5 with all of these for better performance and > > flexibility. Documentation is updated accordingly. > > Has anybody explored doing a driver without the dependency on OFED? > It is certainly possible. The Linux kernel drivers don't depend on it. > And dropping OFED would certainly be faster. OFED is an established kernel API. I agree that F from infiniband should be deprecated since it has broader scope of use. It avoid wasting effort by duplicating kernel's code. It provides security too that UIO could not provide. Best regards, Vincent
[dpdk-dev] [PATCH 00/17] Enhance mlx5 with Mellanox OFED 3.1
On Mon, 5 Oct 2015 19:54:35 +0200 Adrien Mazarguil wrote: > Mellanox OFED 3.1 [1] comes with improved APIs that Mellanox ConnectX-4 > (mlx5) adapters can take advantage of, such as: > > - Separate post and doorbell operations on all queues. > - Lightweight RX queues called Work Queues (WQs). > - Low-level RSS indirection table and hash key configuration. > > This patchset enhances mlx5 with all of these for better performance and > flexibility. Documentation is updated accordingly. Has anybody explored doing a driver without the dependency on OFED? It is certainly possible. The Linux kernel drivers don't depend on it. And dropping OFED would certainly be faster.
[dpdk-dev] [PATCH 00/17] Enhance mlx5 with Mellanox OFED 3.1
Mellanox OFED 3.1 [1] comes with improved APIs that Mellanox ConnectX-4 (mlx5) adapters can take advantage of, such as: - Separate post and doorbell operations on all queues. - Lightweight RX queues called Work Queues (WQs). - Low-level RSS indirection table and hash key configuration. This patchset enhances mlx5 with all of these for better performance and flexibility. Documentation is updated accordingly. [1] http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers Adrien Mazarguil (8): mlx5: use fast Verbs interface for scattered RX operation mlx5: get rid of the WR structure in RX queue elements mlx5: refactor RX code for the new Verbs RSS API mlx5: restore allmulti and promisc modes after device restart app/testpmd: fix missing initialization in the RSS hash show command mlx5: use experimental flows in hash RX queues mlx5: enable multi packet send WR in TX CQ doc: update mlx5 documentation Nelio Laranjeiro (5): mlx5: adapt indirection table size depending on RX queues number mlx5: add RSS hash update/get mlx5: use one RSS hash key per flow type app/testpmd: add missing type to RSS hash commands mlx5: remove normal MAC flows when enabling promiscuous mode Olga Shern (3): mlx5: use separate indirection table for default hash RX queue mlx5: define specific flow steering rules for each hash RX QP mlx5: use alternate method to configure promiscuous mode Yaacov Hazan (1): mlx5: fix compilation error with GCC < 4.6 app/test-pmd/cmdline.c | 45 +- app/test-pmd/config.c | 69 +- app/test-pmd/testpmd.h | 6 +- doc/guides/nics/mlx5.rst| 26 + doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2 +- drivers/net/mlx5/Makefile | 10 +- drivers/net/mlx5/mlx5.c | 69 +- drivers/net/mlx5/mlx5.h | 56 +- drivers/net/mlx5/mlx5_defs.h| 3 + drivers/net/mlx5/mlx5_ethdev.c | 53 +- drivers/net/mlx5/mlx5_mac.c | 214 --- drivers/net/mlx5/mlx5_rss.c | 213 +++ drivers/net/mlx5/mlx5_rxmode.c | 327 +- drivers/net/mlx5/mlx5_rxq.c | 938 ++-- drivers/net/mlx5/mlx5_rxtx.c| 68 +- drivers/net/mlx5/mlx5_rxtx.h| 88 ++- drivers/net/mlx5/mlx5_trigger.c | 86 +-- drivers/net/mlx5/mlx5_txq.c | 7 + drivers/net/mlx5/mlx5_utils.h | 2 - drivers/net/mlx5/mlx5_vlan.c| 44 +- 20 files changed, 1451 insertions(+), 875 deletions(-) create mode 100644 drivers/net/mlx5/mlx5_rss.c -- 2.1.0