RE: [v1 3/4] net/mlx5: add support to modify ECN field

2022-06-06 Thread Slava Ovsiienko
> -Original Message- > From: Sean Zhang (Networking SW) > Sent: Saturday, April 2, 2022 10:12 > To: Matan Azrad ; Slava Ovsiienko > > Cc: dev@dpdk.org > Subject: [v1 3/4] net/mlx5: add support to modify ECN field > > This patch is to support modify ECN field in IPv4/IPv6 header. > > Sig

RE: [v1 4/4] net/mlx5: add modify field support in meter

2022-06-06 Thread Slava Ovsiienko
> -Original Message- > From: Sean Zhang (Networking SW) > Sent: Saturday, April 2, 2022 10:12 > To: Matan Azrad ; Slava Ovsiienko > > Cc: dev@dpdk.org > Subject: [v1 4/4] net/mlx5: add modify field support in meter > > This patch introduces MODIFY_FIELD action support in meter. User can

RE: [v1] net/mlx5: support represented port item

2022-06-06 Thread Slava Ovsiienko
> -Original Message- > From: Sean Zhang (Networking SW) > Sent: Saturday, April 2, 2022 9:40 > To: Matan Azrad ; Slava Ovsiienko > > Cc: dev@dpdk.org > Subject: [v1] net/mlx5: support represented port item > > Add support for represented_port item in pattern. And if the spec and mask > b

[PATCH v3] kni: fix warning about discarding const qualifier

2022-06-06 Thread Ke Zhang
The warning info: warning: passing argument 1 of ‘memcpy’ discards ‘const’ qualifier from pointer target type Variable dev_addr is done const intentionally in v5.17 to prevent using it directly. See kernel series [1] for more information. [1] https://lore.kernel.org/netdev/YZYAb4X%2FVQFy0iks@shre

[Bug 1025] [dpdk 22.07/dpdk-next-net] kernel/linux/kni meson build failed on Ub22.04/Ub20.04/Fedora36/Centos7.9/SUSE15/RHEL8.6

2022-06-06 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1025 Bug ID: 1025 Summary: [dpdk 22.07/dpdk-next-net] kernel/linux/kni meson build failed on Ub22.04/Ub20.04/Fedora36/Centos7.9/SUSE15/RHEL8.6 Product: DPDK Version: unspecifi

Re: [dpdk-dev] [PATCH RFC] net/ena: Add Windows support.

2022-06-06 Thread Michał Krawczyk
sob., 21 maj 2022 o 00:08 Ferruh Yigit napisał(a): > > On 8/30/2021 3:05 PM, William Tu wrote: > > On Mon, Aug 30, 2021 at 12:12 AM Michał Krawczyk wrote: > > [...] > >> Hi William, > >> > >> It's great to hear that you're working on ENA support for Windows! > >> > >> ENA PMD uses admin interrupt

RE: [v1 2/4] common/mlx5: add modify ECN capability check

2022-06-06 Thread Slava Ovsiienko
> -Original Message- > From: Sean Zhang (Networking SW) > Sent: Saturday, April 2, 2022 10:12 > To: Matan Azrad ; Slava Ovsiienko > > Cc: dev@dpdk.org > Subject: [v1 2/4] common/mlx5: add modify ECN capability check > > Flag outer_ip_ecn in header modify capabilities properties layout is

[PATCH v2] net/virtio: unmap PCI device in secondary process

2022-06-06 Thread Yuan Wang
In multi-process, the secondary process will remap PCI during initialization, but the mapping is not removed in the uninit path, the device is not closed, and the device busy error will be reported when the device is hotplugged. This patch unmaps PCI device at secondary process uninitialization ba

RE: [PATCH] testpmd: optimize forward stream statistics

2022-06-06 Thread Guo, Junfeng
> -Original Message- > From: Singh, Aman Deep > Sent: Wednesday, June 1, 2022 16:46 > To: Guo, Junfeng ; Zhang, Qi Z > ; Wu, Jingjing ; Xing, > Beilei > Cc: dev@dpdk.org; Wang, Xiao W > Subject: Re: [PATCH] testpmd: optimize forward stream statistics > > Hi Junfeng > > On 5/24/2022 1

RE: [PATCH] testpmd: optimize forward stream statistics

2022-06-06 Thread Guo, Junfeng
> -Original Message- > From: Andrew Rybchenko > Sent: Tuesday, May 31, 2022 23:28 > To: Guo, Junfeng ; Zhang, Qi Z > ; Wu, Jingjing ; Xing, > Beilei > Cc: dev@dpdk.org; Wang, Xiao W > Subject: Re: [PATCH] testpmd: optimize forward stream statistics > > On 5/24/22 11:27, Junfeng Guo wr

RE: [PATCH v2] net/virtio: unmap PCI device in secondary process

2022-06-06 Thread Ling, WeiX
> -Original Message- > From: Wang, YuanX > Sent: Monday, June 6, 2022 11:56 PM > To: maxime.coque...@redhat.com; Xia, Chenbo ; > dev@dpdk.org > Cc: Hu, Jiayu ; He, Xingguang > ; Ling, WeiX ; Wang, YuanX > ; sta...@dpdk.org > Subject: [PATCH v2] net/virtio: unmap PCI device in secondary pro

Re: Optimizations are not features

2022-06-06 Thread Konstantin Ananyev
04/06/2022 13:51, Andrew Rybchenko пишет: On 6/4/22 15:19, Morten Brørup wrote: From: Jerin Jacob [mailto:jerinjac...@gmail.com] Sent: Saturday, 4 June 2022 13.10 On Sat, Jun 4, 2022 at 3:30 PM Andrew Rybchenko wrote: On 6/4/22 12:33, Jerin Jacob wrote: On Sat, Jun 4, 2022 at 2:39 PM Morten

[PATCH v2] app/testpmd: add throughput stats for forward streams

2022-06-06 Thread Junfeng Guo
1. add throughput statistics (in pps) for forward streams. 2. display the forward statistics for every forward stream. v2: add parameter descriptions and fix commit title. Signed-off-by: Xiao Wang Signed-off-by: Junfeng Guo --- app/test-pmd/testpmd.c | 41 ++

RE: [PATCH v3] pcap: support MTU set

2022-06-06 Thread Ido Goshen
> -Original Message- > From: Ferruh Yigit > Sent: Monday, 30 May 2022 21:06 > To: Ido Goshen ; ferruh.yi...@xilinx.com; > step...@networkplumber.org > Cc: dev@dpdk.org; Tianli Lai > Subject: Re: [PATCH v3] pcap: support MTU set > > On 5/30/2022 11:36 AM, Ido Goshen wrote: > > Support r

RE: [PATCH 6/6] net/vhost: perform SW checksum in Tx path

2022-06-06 Thread Ma, WenwuX
> -Original Message- > From: Maxime Coquelin > Sent: 2022年6月2日 17:07 > To: Ma, WenwuX ; dev@dpdk.org; > jasow...@redhat.com; Xia, Chenbo ; > david.march...@redhat.com; Matz, Olivier > Cc: sta...@dpdk.org > Subject: Re: [PATCH 6/6] net/vhost: perform SW checksum in Tx path > > Hi Wenwu,

RE: [RFC v2 2/2] ethdev: queue-based flow aged report

2022-06-06 Thread Ori Kam
Hi, For some reason this mail stopped being plain text. Pleas find my comment marked with [Ori] Best, Ori From: Jack Min Sent: Thursday, June 2, 2022 1:24 PM To: Ori Kam ; Andrew Rybchenko ; NBU-Contact-Thomas Monjalon (EXTERNAL) ; Ferruh Yigit Cc: dev@dpdk.org Subject: Re: [RFC v2 2/2] ethde

[PATCH v4 0/2] support to clear in-flight packets for async

2022-06-06 Thread Yuan Wang
These patches support to clear in-flight packets for async dequeue and introduce thread-safe version of this function. v4: - Rebase to latest DPDK v3: - Rebase to latest DPDK v2: - Rebase to latest DPDK - Use the thread-safe version in destroy_device v1: - Protect vq access with splitlock Yuan

[PATCH v4 1/2] vhost: support clear in-flight packets for async dequeue

2022-06-06 Thread Yuan Wang
rte_vhost_clear_queue_thread_unsafe() supports to clear in-flight packets for async enqueue only. But after supporting async dequeue, this API should support async dequeue too. This patch also adds the thread-safe version of this API, the difference between the two API is that thread safety uses l

[PATCH v4 2/2] example/vhost: support to clear in-flight packets for async dequeue

2022-06-06 Thread Yuan Wang
This patch allows vring_state_changed() to clear in-flight dequeue packets. It also clears the in-flight packets in a thread-safe way in destroy_device(). Signed-off-by: Yuan Wang --- examples/vhost/main.c | 26 +- 1 file changed, 21 insertions(+), 5 deletions(-) diff --

[Bug 1026] ethdev API: rte_eth_dev_adjust_nb_rx_tx_desc

2022-06-06 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1026 Bug ID: 1026 Summary: ethdev API: rte_eth_dev_adjust_nb_rx_tx_desc Product: DPDK Version: 20.11 Hardware: All OS: Linux Status: UNCONFIRMED Severity: normal

[PATCH] kni: fix build

2022-06-06 Thread Thomas Monjalon
A previous fix had #else instead of #endif. The error message is: kernel/linux/kni/kni_net.c: In function ‘kni_net_rx_normal’: kernel/linux/kni/kni_net.c:448:2: error: #else after #else Bugzilla ID: 1025 Fixes: c98600d4bed6 ("kni: fix build with Linux 5.18") Cc: sta...@dpdk.org Si

Re: [PATCH v2] net/igc: add I226 support

2022-06-06 Thread Thomas Monjalon
06/06/2022 01:12, Zhang, Qi Z: > > > -Original Message- > > From: Thomas Monjalon > > Sent: Monday, June 6, 2022 12:42 AM > > To: Zhang, Qi Z ; Yang, Qiming > > > > Cc: dev@dpdk.org; Liu, KevinX > > Subject: Re: [PATCH v2] net/igc: add I226 support > > > > 25/05/2022 07:57, Qiming Yang

RE: [PATCH v2] net/igc: add I226 support

2022-06-06 Thread Zhang, Qi Z
> -Original Message- > From: Thomas Monjalon > Sent: Monday, June 6, 2022 6:49 PM > To: Yang, Qiming ; Zhang, Qi Z > > Cc: dev@dpdk.org; Liu, KevinX > Subject: Re: [PATCH v2] net/igc: add I226 support > > 06/06/2022 01:12, Zhang, Qi Z: > > > > > -Original Message- > > > From:

[PATCH v1 00/17] Add vDPA multi-threads optiomization

2022-06-06 Thread Li Zhang
Allow the driver to use internal threads to obtain fast configuration. All the threads will be open on the same core of the event completion queue scheduling thread. Add max_conf_threads parameter to configure the maximum number of internal threads in addition to the caller thread (8 is suggested)

[PATCH v1 01/17] vdpa/mlx5: fix usage of capability for max number of virtqs

2022-06-06 Thread Li Zhang
The driver wrongly takes the capability value for the number of virtq pairs instead of just the number of virtqs. Adjust all the usages of it to be the number of virtqs. Fixes: c2eb33a ("vdpa/mlx5: manage virtqs by array") Cc: sta...@dpdk.org Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_

[PATCH v1 02/17] eal: add device removal in rte cleanup

2022-06-06 Thread Li Zhang
From: Yajun Wu Add device removal in function rte_eal_cleanup. This is the last chance device remove get called for sanity. Loop vdev bus first and then all bus for all device, calling rte_dev_remove. Cc: sta...@dpdk.org Signed-off-by: Yajun Wu --- lib/eal/freebsd/eal.c | 33 +

[PATCH 02/16] examples/vdpa: fix vDPA device remove

2022-06-06 Thread Li Zhang
From: Yajun Wu Add calling rte_dev_remove in vDPA example application exit. Otherwise rte_dev_remove never get called. Fixes: edbed86d1cc ("examples/vdpa: introduce a new sample for vDPA") Cc: sta...@dpdk.org Signed-off-by: Yajun Wu --- examples/vdpa/main.c | 4 1 file changed, 4 inserti

[PATCH v1 03/17] examples/vdpa: fix devices cleanup

2022-06-06 Thread Li Zhang
From: Yajun Wu Move rte_eal_cleanup to function vdpa_sample_quit which handling all example app quit. Otherwise rte_eal_cleanup won't be called on receiving signal like SIGINT(control + c). Fixes: 10aa3757 ("examples: add eal cleanup to examples") Cc: sta...@dpdk.org Signed-off-by: Yajun Wu --

[PATCH 04/16] common/mlx5: add DevX API to move QP to reset state

2022-06-06 Thread Li Zhang
From: Yajun Wu Support set QP to RESET state. Signed-off-by: Yajun Wu --- drivers/common/mlx5/mlx5_devx_cmds.c | 7 +++ drivers/common/mlx5/mlx5_prm.h | 17 + 2 files changed, 24 insertions(+) diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/

[PATCH v1 04/17] vdpa/mlx5: support pre create virtq resource

2022-06-06 Thread Li Zhang
From: Yajun Wu The motivation of this change is to reduce vDPA device queue creation time by create some queue resource in vDPA device probe stage. In VM live migration scenario, this can reduce 0.8ms for each queue creation, thus reduce LM network downtime. To create queue resource(umem/counte

[PATCH 03/16] vdpa/mlx5: support pre create virtq resource

2022-06-06 Thread Li Zhang
From: Yajun Wu The motivation of this change is to reduce vDPA device queue creation time by create some queue resource in vDPA device probe stage. In VM live migration scenario, this can reduce 0.8ms for each queue creation, thus reduce LM network downtime. To create queue resource(umem/counte

[PATCH v1 05/17] common/mlx5: add DevX API to move QP to reset state

2022-06-06 Thread Li Zhang
From: Yajun Wu Support set QP to RESET state. Signed-off-by: Yajun Wu --- drivers/common/mlx5/mlx5_devx_cmds.c | 7 +++ drivers/common/mlx5/mlx5_prm.h | 17 + 2 files changed, 24 insertions(+) diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/

[PATCH 05/16] vdpa/mlx5: support event qp reuse

2022-06-06 Thread Li Zhang
From: Yajun Wu To speed up queue create time, event qp and cq will create only once. Each virtq creation will reuse same event qp and cq. Because FW will set event qp to error state during virtq destroy, need modify event qp to RESET state, then modify qp to RTS state as usual. This can save abo

[PATCH 06/16] common/mlx5: extend virtq modifiable fields

2022-06-06 Thread Li Zhang
A virtq configuration can be modified after the virtq creation. Added the following modifiable fields: 1.address fields: desc_addr/used_addr/available_addr 2.hw_available_index 3.hw_used_index 4.virtio_q_type 5.version type 6.queue mkey 7.feature bit mask: tso_ipv4/tso_ipv6/tx_csum/rx_csum 8.event

[PATCH v1 06/17] vdpa/mlx5: support event qp reuse

2022-06-06 Thread Li Zhang
From: Yajun Wu To speed up queue create time, event qp and cq will create only once. Each virtq creation will reuse same event qp and cq. Because FW will set event qp to error state during virtq destroy, need modify event qp to RESET state, then modify qp to RTS state as usual. This can save abo

[PATCH 07/16] vdpa/mlx5: pre-create virtq in the prob

2022-06-06 Thread Li Zhang
dev_config operation is called in LM progress. LM time is very critical because all the VM packets are dropped directly at that time. Move the virtq creation to probe time and only modify the configuration later in the dev_config stage using the new ability to modify virtq. This optimization acce

[PATCH v1 07/17] common/mlx5: extend virtq modifiable fields

2022-06-06 Thread Li Zhang
A virtq configuration can be modified after the virtq creation. Added the following modifiable fields: 1.address fields: desc_addr/used_addr/available_addr 2.hw_available_index 3.hw_used_index 4.virtio_q_type 5.version type 6.queue mkey 7.feature bit mask: tso_ipv4/tso_ipv6/tx_csum/rx_csum 8.event

[PATCH v1 08/17] vdpa/mlx5: pre-create virtq in the prob

2022-06-06 Thread Li Zhang
dev_config operation is called in LM progress. LM time is very critical because all the VM packets are dropped directly at that time. Move the virtq creation to probe time and only modify the configuration later in the dev_config stage using the new ability to modify virtq. This optimization acce

[PATCH 09/16] vdpa/mlx5: add multi-thread management for configuration

2022-06-06 Thread Li Zhang
The LM process includes a lot of objects creations and destructions in the source and the destination servers. As much as LM time increases, the packet drop of the VM increases. To improve LM time need to parallel the configurations for mlx5 FW. Add internal multi-thread management in the driver fo

[PATCH 08/16] vdpa/mlx5: optimize datapath-control synchronization

2022-06-06 Thread Li Zhang
The driver used a single global lock for any synchronization needed for the datapath and control path. It is better to group the critical sections with the other ones that should be synchronized. Replace the global lock with the following locks: 1.virtq locks(per virtq) synchronize datapath polli

[PATCH v1 09/17] vdpa/mlx5: optimize datapath-control synchronization

2022-06-06 Thread Li Zhang
The driver used a single global lock for any synchronization needed for the datapath and control path. It is better to group the critical sections with the other ones that should be synchronized. Replace the global lock with the following locks: 1.virtq locks(per virtq) synchronize datapath polli

[PATCH 10/16] vdpa/mlx5: add task ring for MT management

2022-06-06 Thread Li Zhang
The configuration threads tasks need a container to support multiple tasks assigned to a thread in parallel. Use rte_ring container per thread to manage the thread tasks without locks. The caller thread from the user context opens a task to a thread and enqueue it to the thread ring. The thread pol

[PATCH v1 10/17] vdpa/mlx5: add multi-thread management for configuration

2022-06-06 Thread Li Zhang
The LM process includes a lot of objects creations and destructions in the source and the destination servers. As much as LM time increases, the packet drop of the VM increases. To improve LM time need to parallel the configurations for mlx5 FW. Add internal multi-thread management in the driver fo

[PATCH 11/16] vdpa/mlx5: add MT task for VM memory registration

2022-06-06 Thread Li Zhang
The driver creates a direct MR object of the HW for each VM memory region, which maps the VM physical address to the actual physical address. Later, after all the MRs are ready, the driver creates an indirect MR to group all the direct MRs into one virtual space from the HW perspective. Create di

[PATCH v1 11/17] vdpa/mlx5: add task ring for MT management

2022-06-06 Thread Li Zhang
The configuration threads tasks need a container to support multiple tasks assigned to a thread in parallel. Use rte_ring container per thread to manage the thread tasks without locks. The caller thread from the user context opens a task to a thread and enqueue it to the thread ring. The thread pol

[PATCH 12/16] vdpa/mlx5: add virtq creation task for MT management

2022-06-06 Thread Li Zhang
The virtq object and all its sub-resources use a lot of FW commands and can be accelerated by the MT management. Split the virtqs creation between the configuration threads. This accelerates the LM process and reduces its time by 20%. Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_vdpa.h

[PATCH 13/16] vdpa/mlx5: add virtq LM log task

2022-06-06 Thread Li Zhang
Split the virtqs LM log between the configuration threads. This accelerates the LM process and reduces its time by 20%. Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_vdpa.h | 3 + drivers/vdpa/mlx5/mlx5_vdpa_cthread.c | 34 +++ drivers/vdpa/mlx5/mlx5_vdpa_lm.c | 85 +++

[PATCH v1 12/17] vdpa/mlx5: add MT task for VM memory registration

2022-06-06 Thread Li Zhang
The driver creates a direct MR object of the HW for each VM memory region, which maps the VM physical address to the actual physical address. Later, after all the MRs are ready, the driver creates an indirect MR to group all the direct MRs into one virtual space from the HW perspective. Create di

[PATCH 14/16] vdpa/mlx5: add device close task

2022-06-06 Thread Li Zhang
Split the virtqs device close tasks after stopping virt-queue between the configuration threads. This accelerates the LM process and reduces its time by 50%. Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_vdpa.c | 56 +-- drivers/vdpa/mlx5/mlx5_vdpa.h

[PATCH v1 13/17] vdpa/mlx5: add virtq creation task for MT management

2022-06-06 Thread Li Zhang
The virtq object and all its sub-resources use a lot of FW commands and can be accelerated by the MT management. Split the virtqs creation between the configuration threads. This accelerates the LM process and reduces its time by 20%. Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_vdpa.h

[PATCH v1 14/17] vdpa/mlx5: add virtq LM log task

2022-06-06 Thread Li Zhang
Split the virtqs LM log between the configuration threads. This accelerates the LM process and reduces its time by 20%. Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_vdpa.h | 3 + drivers/vdpa/mlx5/mlx5_vdpa_cthread.c | 34 +++ drivers/vdpa/mlx5/mlx5_vdpa_lm.c | 85 +++

[PATCH v1 15/17] vdpa/mlx5: add device close task

2022-06-06 Thread Li Zhang
Split the virtqs device close tasks after stopping virt-queue between the configuration threads. This accelerates the LM process and reduces its time by 50%. Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_vdpa.c | 56 +-- drivers/vdpa/mlx5/mlx5_vdpa.h

[PATCH 15/16] vdpa/mlx5: add virtq sub-resources creation

2022-06-06 Thread Li Zhang
pre-created virt-queue sub-resource in device probe stage and then modify virtqueue in device config stage. Steer table also need to support dummy virt-queue. This accelerates the LM process and reduces its time by 40%. Signed-off-by: Li Zhang Signed-off-by: Yajun Wu --- drivers/vdpa/mlx5/mlx5_

[PATCH 16/16] vdpa/mlx5: prepare virtqueue resource creation

2022-06-06 Thread Li Zhang
Split the virtqs virt-queue resource between the configuration threads. Also need pre-created virt-queue resource after virtq destruction. This accelerates the LM process and reduces its time by 30%. Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_vdpa.c | 115

[PATCH v1 16/17] vdpa/mlx5: add virtq sub-resources creation

2022-06-06 Thread Li Zhang
pre-created virt-queue sub-resource in device probe stage and then modify virtqueue in device config stage. Steer table also need to support dummy virt-queue. This accelerates the LM process and reduces its time by 40%. Signed-off-by: Li Zhang Signed-off-by: Yajun Wu --- drivers/vdpa/mlx5/mlx5_

[PATCH v1 17/17] vdpa/mlx5: prepare virtqueue resource creation

2022-06-06 Thread Li Zhang
Split the virtqs virt-queue resource between the configuration threads. Also need pre-created virt-queue resource after virtq destruction. This accelerates the LM process and reduces its time by 30%. Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_vdpa.c | 115

Re: [PATCH v1 5/5] examples/l3fwd: enable direct rearm mode

2022-06-06 Thread Konstantin Ananyev
31/05/2022 18:14, Honnappa Nagarahalli пишет: 25/05/2022 01:24, Honnappa Nagarahalli пишет: From: Konstantin Ananyev 20/04/2022 09:16, Feifei Wang пишет: Enable direct rearm mode. The mapping is decided in the data plane based on the first packet received. Suggested-by: Honnappa Naga

Re: [PATCH v2] net/igc: add I226 support

2022-06-06 Thread Thomas Monjalon
06/06/2022 12:54, Zhang, Qi Z: > > > -Original Message- > > From: Thomas Monjalon > > Sent: Monday, June 6, 2022 6:49 PM > > To: Yang, Qiming ; Zhang, Qi Z > > > > Cc: dev@dpdk.org; Liu, KevinX > > Subject: Re: [PATCH v2] net/igc: add I226 support > > > > 06/06/2022 01:12, Zhang, Qi Z:

[PATCH v1 00/17] Add vDPA multi-threads optiomization

2022-06-06 Thread Li Zhang
Allow the driver to use internal threads to obtain fast configuration. All the threads will be open on the same core of the event completion queue scheduling thread. Add max_conf_threads parameter to configure the maximum number of internal threads in addition to the caller thread (8 is suggested)

[PATCH v1 01/17] vdpa/mlx5: fix usage of capability for max number of virtqs

2022-06-06 Thread Li Zhang
The driver wrongly takes the capability value for the number of virtq pairs instead of just the number of virtqs. Adjust all the usages of it to be the number of virtqs. Fixes: c2eb33a ("vdpa/mlx5: manage virtqs by array") Cc: sta...@dpdk.org Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_

[PATCH v1 02/17] eal: add device removal in rte cleanup

2022-06-06 Thread Li Zhang
From: Yajun Wu Add device removal in function rte_eal_cleanup. This is the last chance device remove get called for sanity. Loop vdev bus first and then all bus for all device, calling rte_dev_remove. Cc: sta...@dpdk.org Signed-off-by: Yajun Wu --- lib/eal/freebsd/eal.c | 33 +

[PATCH v1 03/17] examples/vdpa: fix devices cleanup

2022-06-06 Thread Li Zhang
From: Yajun Wu Move rte_eal_cleanup to function vdpa_sample_quit which handling all example app quit. Otherwise rte_eal_cleanup won't be called on receiving signal like SIGINT(control + c). Fixes: 10aa3757 ("examples: add eal cleanup to examples") Cc: sta...@dpdk.org Signed-off-by: Yajun Wu --

[PATCH v1 04/17] vdpa/mlx5: support pre create virtq resource

2022-06-06 Thread Li Zhang
From: Yajun Wu The motivation of this change is to reduce vDPA device queue creation time by create some queue resource in vDPA device probe stage. In VM live migration scenario, this can reduce 0.8ms for each queue creation, thus reduce LM network downtime. To create queue resource(umem/counte

[PATCH v1 05/17] common/mlx5: add DevX API to move QP to reset state

2022-06-06 Thread Li Zhang
From: Yajun Wu Support set QP to RESET state. Signed-off-by: Yajun Wu --- drivers/common/mlx5/mlx5_devx_cmds.c | 7 +++ drivers/common/mlx5/mlx5_prm.h | 17 + 2 files changed, 24 insertions(+) diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/

[PATCH v1 06/17] vdpa/mlx5: support event qp reuse

2022-06-06 Thread Li Zhang
From: Yajun Wu To speed up queue create time, event qp and cq will create only once. Each virtq creation will reuse same event qp and cq. Because FW will set event qp to error state during virtq destroy, need modify event qp to RESET state, then modify qp to RTS state as usual. This can save abo

[PATCH v1 07/17] common/mlx5: extend virtq modifiable fields

2022-06-06 Thread Li Zhang
A virtq configuration can be modified after the virtq creation. Added the following modifiable fields: 1.address fields: desc_addr/used_addr/available_addr 2.hw_available_index 3.hw_used_index 4.virtio_q_type 5.version type 6.queue mkey 7.feature bit mask: tso_ipv4/tso_ipv6/tx_csum/rx_csum 8.event

[PATCH v1 08/17] vdpa/mlx5: pre-create virtq in the prob

2022-06-06 Thread Li Zhang
dev_config operation is called in LM progress. LM time is very critical because all the VM packets are dropped directly at that time. Move the virtq creation to probe time and only modify the configuration later in the dev_config stage using the new ability to modify virtq. This optimization acce

[PATCH v1 09/17] vdpa/mlx5: optimize datapath-control synchronization

2022-06-06 Thread Li Zhang
The driver used a single global lock for any synchronization needed for the datapath and control path. It is better to group the critical sections with the other ones that should be synchronized. Replace the global lock with the following locks: 1.virtq locks(per virtq) synchronize datapath polli

[PATCH v1 10/17] vdpa/mlx5: add multi-thread management for configuration

2022-06-06 Thread Li Zhang
The LM process includes a lot of objects creations and destructions in the source and the destination servers. As much as LM time increases, the packet drop of the VM increases. To improve LM time need to parallel the configurations for mlx5 FW. Add internal multi-thread management in the driver fo

[PATCH v1 11/17] vdpa/mlx5: add task ring for MT management

2022-06-06 Thread Li Zhang
The configuration threads tasks need a container to support multiple tasks assigned to a thread in parallel. Use rte_ring container per thread to manage the thread tasks without locks. The caller thread from the user context opens a task to a thread and enqueue it to the thread ring. The thread pol

[PATCH v1 12/17] vdpa/mlx5: add MT task for VM memory registration

2022-06-06 Thread Li Zhang
The driver creates a direct MR object of the HW for each VM memory region, which maps the VM physical address to the actual physical address. Later, after all the MRs are ready, the driver creates an indirect MR to group all the direct MRs into one virtual space from the HW perspective. Create di

[PATCH v1 13/17] vdpa/mlx5: add virtq creation task for MT management

2022-06-06 Thread Li Zhang
The virtq object and all its sub-resources use a lot of FW commands and can be accelerated by the MT management. Split the virtqs creation between the configuration threads. This accelerates the LM process and reduces its time by 20%. Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_vdpa.h

[PATCH v1 14/17] vdpa/mlx5: add virtq LM log task

2022-06-06 Thread Li Zhang
Split the virtqs LM log between the configuration threads. This accelerates the LM process and reduces its time by 20%. Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_vdpa.h | 3 + drivers/vdpa/mlx5/mlx5_vdpa_cthread.c | 34 +++ drivers/vdpa/mlx5/mlx5_vdpa_lm.c | 85 +++

[PATCH v1 15/17] vdpa/mlx5: add device close task

2022-06-06 Thread Li Zhang
Split the virtqs device close tasks after stopping virt-queue between the configuration threads. This accelerates the LM process and reduces its time by 50%. Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_vdpa.c | 56 +-- drivers/vdpa/mlx5/mlx5_vdpa.h

[PATCH v1 16/17] vdpa/mlx5: add virtq sub-resources creation

2022-06-06 Thread Li Zhang
pre-created virt-queue sub-resource in device probe stage and then modify virtqueue in device config stage. Steer table also need to support dummy virt-queue. This accelerates the LM process and reduces its time by 40%. Signed-off-by: Li Zhang Signed-off-by: Yajun Wu --- drivers/vdpa/mlx5/mlx5_

[PATCH v1 17/17] vdpa/mlx5: prepare virtqueue resource creation

2022-06-06 Thread Li Zhang
Split the virtqs virt-queue resource between the configuration threads. Also need pre-created virt-queue resource after virtq destruction. This accelerates the LM process and reduces its time by 30%. Signed-off-by: Li Zhang --- drivers/vdpa/mlx5/mlx5_vdpa.c | 115

[Bug 1025] [dpdk 22.07 && dpdk-next-net] kernel/linux/kni meson build failed on Ub22.04/Ub20.04/Fedora36/Centos7.9/SUSE15/RHEL8.6

2022-06-06 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1025 Thomas Monjalon (tho...@monjalon.net) changed: What|Removed |Added Resolution|--- |FIXED CC|

RE: [PATCH v2] net/igc: add I226 support

2022-06-06 Thread Zhang, Qi Z
> -Original Message- > From: Thomas Monjalon > Sent: Monday, June 6, 2022 7:46 PM > To: Yang, Qiming ; Zhang, Qi Z > > Cc: dev@dpdk.org; Liu, KevinX ; Mcnamara, John > > Subject: Re: [PATCH v2] net/igc: add I226 support > > 06/06/2022 12:54, Zhang, Qi Z: > > > > > -Original Messa

[v3 07/24] eal/loongarch: add dummy vector memcpy for LoongArch

2022-06-06 Thread Min Zhou
The hardware instructions based vector implementation for memcpy will come later. At present, this dummy implementation can also work. Signed-off-by: Min Zhou --- lib/eal/loongarch/include/rte_memcpy.h | 193 + lib/eal/loongarch/include/rte_vect.h | 46 ++ 2 files

[v3 05/24] eal/loongarch: add spinlock operations for LoongArch

2022-06-06 Thread Min Zhou
This patch adds spinlock operations for LoongArch architecture. These implementations are based on standard atomics of toolchain and heavily reference generic spinlock codes. Signed-off-by: Min Zhou --- lib/eal/loongarch/include/rte_spinlock.h | 90 1 file changed, 90 in

[v3 19/24] test/xmmt_ops: add dummy vector implementation for LoongArch

2022-06-06 Thread Min Zhou
The hardware instructions based vector implementation will come in a future patch. This dummy implementation can also work. Signed-off-by: Min Zhou --- app/test/test_xmmt_ops.h | 17 + 1 file changed, 17 insertions(+) diff --git a/app/test/test_xmmt_ops.h b/app/test/test_xmmt_op

[v3 21/24] i40e: add dummy vector implementation for LoongArch

2022-06-06 Thread Min Zhou
The purpose of this patch is used to fix building issues for LoongArch architecture. The hardware instructions based vector implementation will come in a future patch. Signed-off-by: Min Zhou --- drivers/net/i40e/i40e_rxtx_vec_lsx.c | 54 drivers/net/i40e/meson.build

[v3 13/24] eal/loongarch: add ticketlock operations for LoongArch

2022-06-06 Thread Min Zhou
This patch adds ticketlock operations for LoongArch architecture. Let it uses generic ticketlock implementation. Signed-off-by: Min Zhou --- lib/eal/loongarch/include/rte_ticketlock.h | 18 ++ 1 file changed, 18 insertions(+) create mode 100644 lib/eal/loongarch/include/rte_tick

[v3 00/24] Support LoongArch architecture

2022-06-06 Thread Min Zhou
Dear team, The following patch set is intended to support DPDK running on LoongArch architecture. LoongArch is the general processor architecture of Loongson and is a new RISC ISA, which is a bit like MIPS or RISC-V. The online documents of LoongArch are here: https://loongson.github.io/L

[v3 09/24] eal/loongarch: add mcslock operations for LoongArch

2022-06-06 Thread Min Zhou
This patch adds mcslock operations for LoongArch architecture. Let it uses generic mcslock implementation. Signed-off-by: Min Zhou --- lib/eal/loongarch/include/rte_mcslock.h | 18 ++ 1 file changed, 18 insertions(+) create mode 100644 lib/eal/loongarch/include/rte_mcslock.h di

[v3 24/24] maintainers: claim responsibility for LoongArch

2022-06-06 Thread Min Zhou
This patch adds claim responsibility for LoongArch architecture. Signed-off-by: Min Zhou --- MAINTAINERS | 9 + 1 file changed, 9 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index f34f6fa2e9..eb38bf473b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -269,6 +269,15 @@ F: lib/eal/

[v3 14/24] eal/loongarch: add power operations for LoongArch

2022-06-06 Thread Min Zhou
This patch adds power operations for LoongArch architecture. In fact, these operations are temporarily not supported on LoongArch. Signed-off-by: Min Zhou --- .../loongarch/include/rte_power_intrinsics.h | 20 lib/eal/loongarch/rte_power_intrinsics.c | 51 +++ 2 fi

[v3 08/24] eal/loongarch: add io operations for LoongArch

2022-06-06 Thread Min Zhou
This patch adds io operations for LoongArch architecture. Let it uses generic I/O implementation. Signed-off-by: Min Zhou --- lib/eal/loongarch/include/rte_io.h | 18 ++ 1 file changed, 18 insertions(+) create mode 100644 lib/eal/loongarch/include/rte_io.h diff --git a/lib/eal/

[v3 17/24] eal/linux: set eal base address for LoongArch

2022-06-06 Thread Min Zhou
This patch sets a different eal base address for LoongArch architecture. Signed-off-by: Min Zhou --- lib/eal/linux/eal_memory.c | 4 1 file changed, 4 insertions(+) diff --git a/lib/eal/linux/eal_memory.c b/lib/eal/linux/eal_memory.c index c890c42106..60fc8cc6ca 100644 --- a/lib/eal/linux/

RE: [PATCH v4 3/7] ethdev: introduce Rx queue based fill threshold

2022-06-06 Thread Spike Du
Hi Andrew, Please see below for "fill threshold" concept, I'm ok with other comments about code. Regards, Spike. > -Original Message- > From: Andrew Rybchenko > Sent: Saturday, June 4, 2022 8:46 PM > To: Spike Du ; Matan Azrad ; > Slava Ovsiienko ; Ori Kam ; > NBU-Contact-Thoma

[v3 10/24] eal/loongarch: add pause operations for LoongArch

2022-06-06 Thread Min Zhou
This patch adds architecture specific pause operations for LoongArch architecture. Signed-off-by: Min Zhou --- lib/eal/loongarch/include/rte_pause.h | 24 1 file changed, 24 insertions(+) create mode 100644 lib/eal/loongarch/include/rte_pause.h diff --git a/lib/eal/loo

[v3 16/24] mem: add huge page size definition for LoongArch

2022-06-06 Thread Min Zhou
LoongArch architecture has a different huge page size (32MB) than other architectures. This patch adds a new huge page size for LoongArch architecture. Signed-off-by: Min Zhou --- lib/eal/include/rte_memory.h | 1 + lib/eal/include/rte_memzone.h | 1 + 2 files changed, 2 insertions(+) diff --g

[v3 04/24] eal/loongarch: add prefetch operations for LoongArch

2022-06-06 Thread Min Zhou
This patch adds architecture specific prefetch operations for LoongArch architecture. Signed-off-by: Min Zhou --- lib/eal/loongarch/include/rte_prefetch.h | 47 1 file changed, 47 insertions(+) create mode 100644 lib/eal/loongarch/include/rte_prefetch.h diff --git a/li

[v3 06/24] eal/loongarch: add cpu flag checks for LoongArch

2022-06-06 Thread Min Zhou
This patch uses aux vector software register to get CPU flags and add CPU flag checking support for LoongArch architecture. Signed-off-by: Min Zhou --- lib/eal/loongarch/include/rte_cpuflags.h | 39 ++ lib/eal/loongarch/rte_cpuflags.c | 94 2 files change

[v3 15/24] eal/loongarch: add hypervisor operations for LoongArch

2022-06-06 Thread Min Zhou
This patch adds hypervisor operations for LoongArch architecture. In fact, these operations are currently not supported on LoongArch. Signed-off-by: Min Zhou --- lib/eal/loongarch/rte_hypervisor.c | 11 +++ 1 file changed, 11 insertions(+) create mode 100644 lib/eal/loongarch/rte_hyperv

[v3 18/24] meson: introduce LoongArch architecture

2022-06-06 Thread Min Zhou
This patch adds some meson.build files for building DPDK on LoongArch architecture. Signed-off-by: Min Zhou --- .../loongarch/loongarch_loongarch64_linux_gcc | 16 +++ config/loongarch/meson.build | 43 +++ lib/eal/loongarch/include/meson.build | 21 +

[v3 12/24] eal/loongarch: add rwlock operations for LoongArch

2022-06-06 Thread Min Zhou
This patch adds rwlock operations for LoongArch architecture. These implementations refer to rte_rwlock.h of PPC. Signed-off-by: Min Zhou --- lib/eal/loongarch/include/rte_rwlock.h | 42 ++ 1 file changed, 42 insertions(+) create mode 100644 lib/eal/loongarch/include/rte

[v3 22/24] tap: add system call number for LoongArch

2022-06-06 Thread Min Zhou
This patch adds system call number of bpf for LoongArch architecture. Signed-off-by: Min Zhou --- drivers/net/tap/tap_bpf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/tap/tap_bpf.h b/drivers/net/tap/tap_bpf.h index f0b9fc7a2c..b1c9600ed8 100644 --- a/drivers/

[v3 02/24] eal/loongarch: add byte order operations for LoongArch

2022-06-06 Thread Min Zhou
This patch adds architecture specific byte order operations for LoongArch architecture. LoongArch bit designations are always little-endian. Signed-off-by: Min Zhou --- lib/eal/loongarch/include/rte_byteorder.h | 46 +++ 1 file changed, 46 insertions(+) create mode 100644 li

[v3 20/24] ixgbe: add dummy vector implementation for LoongArch

2022-06-06 Thread Min Zhou
The purpose of this patch is used to fix building issues for LoongArch architecture. The hardware instructions based vector implementation will come in a future patch. Signed-off-by: Min Zhou --- drivers/net/ixgbe/ixgbe_rxtx_vec_lsx.c | 60 ++ drivers/net/ixgbe/meson.buil

  1   2   >