hresh configuration to not handle the events.
This is documented in mlx5 driver guide.
To avoid the crash in such use case, check port status, if it is not
RTE_PORT_STARTED, don't process the avail_thresh event.
Fixes: 0edfc9b08316 ("app/testpmd: add Host Shaper command")
Signed-off-by: Spike
hresh configuration to not handle the events.
This is documented in mlx5 driver guide.
To avoid the crash in such use case, check port status, if it is not
RTE_PORT_STARTED, don't process the avail_thresh event.
Fixes: f41a5092e6ae ("app/testpmd: add host shaper command")
Cc: sta...@dpdk.org
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 Ovsii
Tuesday, June 7, 2022 1:16 AM
> To: Spike Du ; Matan Azrad ;
> Slava Ovsiienko ; Ori Kam ;
> NBU-Contact-Thomas Monjalon (EXTERNAL) ;
> Wenzhuo Lu ; Beilei Xing ;
> Bernard Iremonger ; Ray Kinsella
> ; Neil Horman
> Cc: step...@networkplumber.org; m...@smartsharesystems.co
llow David Marchand's driver specific commands framework to
add mlx5 specific commands.
Spike Du (7):
net/mlx5: add LWM support for Rxq
common/mlx5: share interrupt management
ethdev: introduce Rx queue based available descriptor threshold
net/mlx5: add LWM event handling support
net/m
Add lwm(Limit WaterMark) field to Rxq object which indicates the percentage
of RX queue size used by HW to raise LWM event to the user.
Allow LWM setting in modify_rq command.
Allow the LWM configuration dynamically by adding RDY2RDY state change.
Signed-off-by: Spike Du
---
drivers/net/mlx5
- Example commands:
To configure avail_thresh as 30% of rxq size on port 1 rxq 0:
testpmd> set port 1 rxq 0 avail_thresh 30
To disable avail_thresh on port 1 rxq 0:
testpmd> set port 1 rxq 0 avail_thresh 0
Signed-off-by: Spike Du
---
app/test-pmd/cmdline.c
finds the next RX queue with pending LWM event
if any, starting from the given RX queue index.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 12 +++
doc/guides/rel_notes/release_22_07.rst | 1 +
drivers/common/mlx5/mlx5_prm.h | 1 +
drivers/net/mlx5/mlx5.c
t 1 host_shaper avail_thresh_triggered 0 rate 50
Add sample code to handle rxq available descriptor threshold event, it
delays a while so that rxq empties, then disables host shaper and
rearms available descriptor threshold event.
Signed-off-by: Spike Du
---
app/test-pmd/testpmd.c | 6 ++
doc/g
.
The shaper limits the rate of traffic from host port to wire port.
If lwm-triggered is enabled, a 100Mbps shaper is enabled automatically
when one of the host port's Rx queues receives available descriptor
threshold event.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst
There are many duplicate code of creating and initializing rte_intr_handle.
Add a new mlx5_os API to do this, replace all PMD related code with this
API.
Signed-off-by: Spike Du
---
drivers/common/mlx5/linux/mlx5_common_os.c | 131 ++
drivers/common/mlx5/linux
When LWM meets RQ WQE, the kernel driver raises an event to SW.
Use devx event_channel to catch this and to notify the user.
Allocate this channel per shared device.
The channel has a cookie that informs the specific event port and queue.
Signed-off-by: Spike Du
---
drivers/net/mlx5/mlx5.c
> -Original Message-
> From: Andrew Rybchenko
> Sent: Thursday, June 9, 2022 3:55 PM
> To: Spike Du ; Matan Azrad ;
> Slava Ovsiienko ; Ori Kam ;
> NBU-Contact-Thomas Monjalon (EXTERNAL) ;
> Xiaoyun Li ; Aman Singh
> ; Yuying Zhang
> Cc: st
- add 'static' keyword for cmdline structs
- in AVAIL_THRESH event callback, add check to ensure it's mlx5 port
Spike Du (1):
app/testpmd: add Host Shaper command
app/test-pmd/testpmd.c | 11 +++
doc/guides/nics/mlx5.rst| 46 +
drivers/net/mlx5/meson
t 1 host_shaper avail_thresh_triggered 0 rate 50
Add sample code to handle rxq available descriptor threshold event, it
delays a while so that rxq empties, then disables host shaper and
rearms available descriptor threshold event.
Signed-off-by: Spike Du
---
app/test-pmd/testpmd.c | 11 +++
doc/g
> -Original Message-
> From: Singh, Aman Deep
> Sent: Tuesday, June 14, 2022 5:44 PM
> To: Spike Du ; Matan Azrad ;
> Slava Ovsiienko ; Ori Kam ;
> NBU-Contact-Thomas Monjalon (EXTERNAL) ;
> Wenzhuo Lu ; Beilei Xing ;
> Bernard Iremonger ; Shahaf Shule
- remove some test code.
Spike Du (1):
app/testpmd: add Host Shaper command
app/test-pmd/testpmd.c | 7 ++
doc/guides/nics/mlx5.rst| 46 +
drivers/net/mlx5/meson.build| 4 +
drivers/net/mlx5/mlx5_testpmd.c | 206
d
t 1 host_shaper avail_thresh_triggered 0 rate 50
Add sample code to handle rxq available descriptor threshold event, it
delays a while so that rxq empties, then disables host shaper and
rearms available descriptor threshold event.
Signed-off-by: Spike Du
---
app/test-pmd/testpmd.c | 7 ++
doc/g
There are many duplicate code of creating and initializing rte_intr_handle.
Add a new mlx5_os API to do this, replace all PMD related code with this
API.
Signed-off-by: Spike Du
---
drivers/common/mlx5/linux/mlx5_common_os.c | 131 ++
drivers/common/mlx5/linux
llow David Marchand's driver specific commands framework to
add mlx5 specific commands.
Spike Du (6):
net/mlx5: add LWM support for Rxq
common/mlx5: share interrupt management
net/mlx5: add LWM event handling support
net/mlx5: support Rx queue based available descriptor threshold
net/ml
.
The shaper limits the rate of traffic from host port to wire port.
If lwm-triggered is enabled, a 100Mbps shaper is enabled automatically
when one of the host port's Rx queues receives available descriptor
threshold event.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst
Add lwm(Limit WaterMark) field to Rxq object which indicates the percentage
of RX queue size used by HW to raise LWM event to the user.
Allow LWM setting in modify_rq command.
Allow the LWM configuration dynamically by adding RDY2RDY state change.
Signed-off-by: Spike Du
---
drivers/net/mlx5
When LWM meets RQ WQE, the kernel driver raises an event to SW.
Use devx event_channel to catch this and to notify the user.
Allocate this channel per shared device.
The channel has a cookie that informs the specific event port and queue.
Signed-off-by: Spike Du
---
drivers/net/mlx5/mlx5.c
finds the next RX queue with pending LWM event
if any, starting from the given RX queue index.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 12 +++
doc/guides/rel_notes/release_22_07.rst | 1 +
drivers/common/mlx5/mlx5_prm.h | 1 +
drivers/net/mlx5/mlx5.c
t 1 host_shaper avail_thresh_triggered 0 rate 50
Add sample code to handle rxq available descriptor threshold event, it
delays a while so that rxq empties, then disables host shaper and
rearms available descriptor threshold event.
Signed-off-by: Spike Du
---
app/test-pmd/testpmd.c | 7 ++
doc/g
Add lwm(Limit WaterMark) field to Rxq object which indicates the percentage
of RX queue size used by HW to raise LWM event to the user.
Allow LWM setting in modify_rq command.
Allow the LWM configuration dynamically by adding RDY2RDY state change.
Signed-off-by: Spike Du
---
drivers/net/mlx5
llow David Marchand's driver specific commands framework to
add mlx5 specific commands.
Spike Du (6):
net/mlx5: add LWM support for Rxq
common/mlx5: share interrupt management
net/mlx5: add LWM event handling support
net/mlx5: support Rx queue based available descriptor threshold
net/ml
There are many duplicate code of creating and initializing rte_intr_handle.
Add a new mlx5_os API to do this, replace all PMD related code with this
API.
Signed-off-by: Spike Du
---
drivers/common/mlx5/linux/mlx5_common_os.c | 131 ++
drivers/common/mlx5/linux
When LWM meets RQ WQE, the kernel driver raises an event to SW.
Use devx event_channel to catch this and to notify the user.
Allocate this channel per shared device.
The channel has a cookie that informs the specific event port and queue.
Signed-off-by: Spike Du
---
drivers/net/mlx5/mlx5.c
finds the next RX queue with pending LWM event
if any, starting from the given RX queue index.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 12 +++
doc/guides/rel_notes/release_22_07.rst | 1 +
drivers/common/mlx5/mlx5_prm.h | 1 +
drivers/net/mlx5/mlx5.c
.
The shaper limits the rate of traffic from host port to wire port.
If lwm-triggered is enabled, a 100Mbps shaper is enabled automatically
when one of the host port's Rx queues receives available descriptor
threshold event.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst
t 1 host_shaper avail_thresh_triggered 0 rate 50
Add sample code to handle rxq available descriptor threshold event, it
delays a while so that rxq empties, then disables host shaper and
rearms available descriptor threshold event.
Signed-off-by: Spike Du
---
app/test-pmd/testpmd.c | 7 ++
doc/g
llow David Marchand's driver specific commands framework to
add mlx5 specific commands.
Spike Du (6):
net/mlx5: add LWM support for Rxq
common/mlx5: share interrupt management
net/mlx5: add LWM event handling support
net/mlx5: support Rx queue based available descriptor threshold
net/ml
Add lwm(Limit WaterMark) field to Rxq object which indicates the percentage
of RX queue size used by HW to raise LWM event to the user.
Allow LWM setting in modify_rq command.
Allow the LWM configuration dynamically by adding RDY2RDY state change.
Signed-off-by: Spike Du
Acked-by: Matan Azard
There are many duplicate code of creating and initializing rte_intr_handle.
Add a new mlx5_os API to do this, replace all PMD related code with this
API.
Signed-off-by: Spike Du
Acked-by: Matan Azard
---
drivers/common/mlx5/linux/mlx5_common_os.c | 131 ++
drivers
When LWM meets RQ WQE, the kernel driver raises an event to SW.
Use devx event_channel to catch this and to notify the user.
Allocate this channel per shared device.
The channel has a cookie that informs the specific event port and queue.
Signed-off-by: Spike Du
Acked-by: Matan Azard
finds the next RX queue with pending LWM event
if any, starting from the given RX queue index.
Signed-off-by: Spike Du
Acked-by: Matan Azard
---
doc/guides/nics/mlx5.rst | 12 +++
doc/guides/rel_notes/release_22_07.rst | 1 +
drivers/common/mlx5/mlx5_prm.h | 1 +
drivers
.
The shaper limits the rate of traffic from host port to wire port.
If lwm-triggered is enabled, a 100Mbps shaper is enabled automatically
when one of the host port's Rx queues receives available descriptor
threshold event.
Signed-off-by: Spike Du
Acked-by: Matan Azard
---
doc/guides/nics/mlx
t 1 host_shaper avail_thresh_triggered 0 rate 50
Add sample code to handle rxq available descriptor threshold event, it
delays a while so that rxq empties, then disables host shaper and
rearms available descriptor threshold event.
Signed-off-by: Spike Du
Acked-by: Matan Azard
---
app/test-pmd/testpmd.c
Replace vdpa interrupt handle creation logic with common interrupt
management API.
Signed-off-by: Spike Du
---
drivers/vdpa/mlx5/mlx5_vdpa_virtq.c | 25 -
1 file changed, 4 insertions(+), 21 deletions(-)
diff --git a/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c
b/drivers/vdpa
The Host-system
is flexible, it may use DPDK or not.
Regards,
Spike.
> -Original Message-
> From: Jerin Jacob
> Sent: Sunday, May 1, 2022 8:51 PM
> To: Spike Du
> Cc: Andrew Rybchenko ; Cristian
> Dumitrescu ; Ferruh Yigit
> ; techbo...@dpdk.org; Matan Azrad
> ; Slava
ork and is specific to Nvidia NIC, use PMD private API.
For integration with testpmd, put the private cmdline function and LWM event
handler in mlx5 PMD directory by adding a new file mlx5_test.c. Only add minimal
code in testpmd to invoke interfaces from mlx5_test.c.
Spike Du (7):
net/mlx5: add LWM s
Add lwm(Limit WaterMark) field to Rxq object which indicates the percentage
of RX queue size used by HW to raise LWM event to the user.
Allow LWM setting in modify_rq command.
Allow the LWM configuration dynamically by adding RDY2RDY state change.
Signed-off-by: Spike Du
---
drivers/net/mlx5
There are many duplicate code of creating and initializing rte_intr_handle.
Add a new mlx5_os API to do this, replace all PMD related code with this
API.
Signed-off-by: Spike Du
---
drivers/common/mlx5/linux/mlx5_common_os.c | 131 ++
drivers/common/mlx5/linux
tting LWM to 0 means disable it.
Add LWM's configuration handle in eth_dev_ops.
Signed-off-by: Spike Du
---
lib/ethdev/ethdev_driver.h | 7 +++
lib/ethdev/rte_ethdev.c| 28
lib/ethdev/rte_ethdev.h| 30 +-
lib/ethdev/v
When LWM meets RQ WQE, the kernel driver raises an event to SW.
Use devx event_channel to catch this and to notify the user.
Allocate this channel per shared device.
The channel has a cookie that informs the specific event port and queue.
Signed-off-by: Spike Du
---
drivers/net/mlx5/mlx5.c
Add mlx5 specific LWM(limit watermark) configuration handler.
While the Rx queue fullness reaches the LWM limit, the driver catches
an HW event and invokes the user callback.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 4 ++
doc/guides/rel_notes/release_22_07.rst
.
The shaper limits the rate of traffic from host port to wire port.
If lwm-triggered is enabled, a 100Mbps shaper is enabled automatically
when one of the host port's Rx queues receives LWM(Limit Watermark) event.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 7 +++
The rate unit is 100Mbps.
To disable lwm_triggered and configure a shaper of 5Gbps on port 1:
testpmd> mlx5 set port 1 host_shaper lwm_triggered 0 rate 50
Add sample code to handle rxq LWM event, it delays a while so that rxq
empties, then disables host shaper and rearms LWM event.
Signed-off-b
ork and is specific to Nvidia NIC, use PMD private API.
For integration with testpmd, put the private cmdline function and LWM event
handler in mlx5 PMD directory by adding a new file mlx5_test.c. Only add
minimal code in testpmd to invoke interfaces from mlx5_test.c.
Spike Du (7):
net/mlx
Add lwm(Limit WaterMark) field to Rxq object which indicates the percentage
of RX queue size used by HW to raise LWM event to the user.
Allow LWM setting in modify_rq command.
Allow the LWM configuration dynamically by adding RDY2RDY state change.
Signed-off-by: Spike Du
---
drivers/net/mlx5
translate the percentage to queue descriptor number, the numbe
should be bigger than 0 and less than queue size.
Add LWM's configuration and query driver callbacks in eth_dev_ops.
Signed-off-by: Spike Du
---
lib/ethdev/ethdev_driver.h | 22
lib/ethdev/rte_ethdev.c
.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 12 ++
doc/guides/rel_notes/release_22_07.rst | 1 +
drivers/common/mlx5/mlx5_prm.h | 1 +
drivers/net/mlx5/mlx5.c| 2 +
drivers/net/mlx5/mlx5_rx.c | 156
When LWM meets RQ WQE, the kernel driver raises an event to SW.
Use devx event_channel to catch this and to notify the user.
Allocate this channel per shared device.
The channel has a cookie that informs the specific event port and queue.
Signed-off-by: Spike Du
---
drivers/net/mlx5/mlx5.c
There are many duplicate code of creating and initializing rte_intr_handle.
Add a new mlx5_os API to do this, replace all PMD related code with this
API.
Signed-off-by: Spike Du
---
drivers/common/mlx5/linux/mlx5_common_os.c | 131 ++
drivers/common/mlx5/linux/mlx5_common_os.h
.
The shaper limits the rate of traffic from host port to wire port.
If lwm-triggered is enabled, a 100Mbps shaper is enabled automatically
when one of the host port's Rx queues receives LWM(Limit Watermark) event.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 26 +++
The rate unit is 100Mbps.
To disable lwm_triggered and configure a shaper of 5Gbps on port 1:
testpmd> mlx5 set port 1 host_shaper lwm_triggered 0 rate 50
Add sample code to handle rxq LWM event, it delays a while so that rxq
empties, then disables host shaper and rearms LWM event.
Signed-off-b
Hi,
> -Original Message-
> From: Stephen Hemminger
> Sent: Sunday, May 22, 2022 11:25 PM
> To: Spike Du
> Cc: Matan Azrad ; Slava Ovsiienko
> ; Ori Kam ; NBU-Contact-
> Thomas Monjalon (EXTERNAL) ; dev@dpdk.org;
> Raslan Darawsheh
> Subject: Re: [RFC v2 3/7]
Hi, pls see below.
> -Original Message-
> From: Stephen Hemminger
> Sent: Sunday, May 22, 2022 11:23 PM
> To: Spike Du
> Cc: Matan Azrad ; Slava Ovsiienko
> ; Ori Kam ; NBU-Contact-
> Thomas Monjalon (EXTERNAL) ; dev@dpdk.org;
> Raslan Darawsheh
> Subje
> -Original Message-
> From: Thomas Monjalon
> Sent: Monday, May 23, 2022 6:59 PM
> To: Spike Du ; Morten Brørup
>
> Cc: Matan Azrad ; Slava Ovsiienko
> ; Ori Kam ; dev@dpdk.org;
> Raslan Darawsheh
> Subject: Re: [RFC v2 3/7] ethdev: introduce Rx
> -Original Message-
> From: Thomas Monjalon
> Sent: Tuesday, May 24, 2022 5:46 AM
> To: Stephen Hemminger ; Spike Du
>
> Cc: dev@dpdk.org; Matan Azrad ; Slava Ovsiienko
> ; Ori Kam ; Raslan Darawsheh
> ; ferruh.yi...@amd.com;
> andrew.rybche...@oktetlabs.ru
> -Original Message-
> From: Stephen Hemminger
> Sent: Tuesday, May 24, 2022 6:55 AM
> To: Spike Du
> Cc: Matan Azrad ; Slava Ovsiienko
> ; Ori Kam ; NBU-Contact-
> Thomas Monjalon (EXTERNAL) ; dev@dpdk.org;
> Raslan Darawsheh
> Subject: Re: [RFC v2 3/7]
ork and is specific to Nvidia NIC, use PMD private API.
For integration with testpmd, put the private cmdline function and LWM event
handler in mlx5 PMD directory by adding a new file mlx5_test.c. Only add
minimal code in testpmd to invoke interfaces from mlx5_test.c.
Spike Du (7):
net/mlx
Add lwm(Limit WaterMark) field to Rxq object which indicates the percentage
of RX queue size used by HW to raise LWM event to the user.
Allow LWM setting in modify_rq command.
Allow the LWM configuration dynamically by adding RDY2RDY state change.
Signed-off-by: Spike Du
---
drivers/net/mlx5
x27;s configuration and query driver callbacks in eth_dev_ops.
Signed-off-by: Spike Du
---
lib/ethdev/ethdev_driver.h | 22
lib/ethdev/rte_ethdev.c| 52
lib/ethdev/rte_ethdev.h| 71 ++
lib/ethdev/version.map
When LWM meets RQ WQE, the kernel driver raises an event to SW.
Use devx event_channel to catch this and to notify the user.
Allocate this channel per shared device.
The channel has a cookie that informs the specific event port and queue.
Signed-off-by: Spike Du
---
drivers/net/mlx5/mlx5.c
.
The shaper limits the rate of traffic from host port to wire port.
If lwm-triggered is enabled, a 100Mbps shaper is enabled automatically
when one of the host port's Rx queues receives LWM(Limit Watermark) event.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 26 +++
The rate unit is 100Mbps.
To disable lwm_triggered and configure a shaper of 5Gbps on port 1:
testpmd> mlx5 set port 1 host_shaper lwm_triggered 0 rate 50
Add sample code to handle rxq LWM event, it delays a while so that rxq
empties, then disables host shaper and rearms LWM event.
Signed-off-b
.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 12 ++
doc/guides/rel_notes/release_22_07.rst | 1 +
drivers/common/mlx5/mlx5_prm.h | 1 +
drivers/net/mlx5/mlx5.c| 2 +
drivers/net/mlx5/mlx5_rx.c | 156
There are many duplicate code of creating and initializing rte_intr_handle.
Add a new mlx5_os API to do this, replace all PMD related code with this
API.
Signed-off-by: Spike Du
---
drivers/common/mlx5/linux/mlx5_common_os.c | 131 ++
drivers/common/mlx5/linux/mlx5_common_os.h
> -Original Message-
> From: Morten Brørup
> Sent: Wednesday, May 25, 2022 3:00 AM
> To: NBU-Contact-Thomas Monjalon (EXTERNAL) ;
> Spike Du
> Cc: Matan Azrad ; Slava Ovsiienko
> ; Ori Kam ; dev@dpdk.org;
> Raslan Darawsheh ; step...@networkplumber.org;
> an
> -Original Message-
> From: Morten Brørup
> Sent: Wednesday, May 25, 2022 9:40 PM
> To: Spike Du ; NBU-Contact-Thomas Monjalon
> (EXTERNAL)
> Cc: Matan Azrad ; Slava Ovsiienko
> ; Ori Kam ; dev@dpdk.org;
> Raslan Darawsheh ; step...@networkplumber.org;
> an
API.
For integration with testpmd, put the private cmdline function and fill
threshold event handler in mlx5 PMD directory by adding a new file
mlx5_testpmd.c. Follow David Marchand's driver specific commands framework to
add mlx5 specific commands.
Spike Du (7):
net/mlx5: add LWM support for Rx
Add lwm(Limit WaterMark) field to Rxq object which indicates the percentage
of RX queue size used by HW to raise LWM event to the user.
Allow LWM setting in modify_rq command.
Allow the LWM configuration dynamically by adding RDY2RDY state change.
Signed-off-by: Spike Du
---
drivers/net/mlx5
There are many duplicate code of creating and initializing rte_intr_handle.
Add a new mlx5_os API to do this, replace all PMD related code with this
API.
Signed-off-by: Spike Du
---
drivers/common/mlx5/linux/mlx5_common_os.c | 131 ++
drivers/common/mlx5/linux
:
testpmd> set port 1 rxq 0 fill_thresh 30
To disable fill_thresh on port 1 rxq 0:
testpmd> set port 1 rxq 0 fill_thresh 0
Signed-off-by: Spike Du
---
app/test-pmd/cmdline.c | 68 +++
app/test-pmd/config.c | 21 ++
app/test-pmd/tes
When LWM meets RQ WQE, the kernel driver raises an event to SW.
Use devx event_channel to catch this and to notify the user.
Allocate this channel per shared device.
The channel has a cookie that informs the specific event port and queue.
Signed-off-by: Spike Du
---
drivers/net/mlx5/mlx5.c
LWM event
if any, starting from the given RX queue index.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 12 +++
doc/guides/rel_notes/release_22_07.rst | 1 +
drivers/common/mlx5/mlx5_prm.h | 1 +
drivers/net/mlx5/mlx5.c| 2 +
drivers/net/mlx5
.
The shaper limits the rate of traffic from host port to wire port.
If lwm-triggered is enabled, a 100Mbps shaper is enabled automatically
when one of the host port's Rx queues receives fill threshold event.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 35 +++
t 1 host_shaper fill_thresh_triggered 0 rate 50
Add sample code to handle rxq fill_thresh event, it delays a while so
that rxq empties, then disables host shaper and rearms fill_thresh event.
Signed-off-by: Spike Du
---
app/test-pmd/testpmd.c | 6 ++
doc/guides/nics/mlx5.rst| 46 +
d
event, delay a while until RX queue is empty
, then disable the shaper. We recycle this work flow to reduce RX queue drops.
Spike Du (6):
net/mlx5: add LWM support for Rxq
common/mlx5: share interrupt management
net/mlx5: add LWM event handling support
net/mlx5: add private API to configure Rx
Add lwm(Limit WaterMark) field to Rxq object which indicates the percentage
of RX queue size used by HW to raise LWM event to the user.
Allow LWM setting in modify_rq command.
Allow the LWM configuration dynamically by adding RDY2RDY state change.
Signed-off-by: Spike Du
---
drivers/net/mlx5
There are many duplicate code of creating and initializing rte_intr_handle.
Add a new mlx5_os API to do this, replace all PMD related code with this
API.
Signed-off-by: Spike Du
---
drivers/common/mlx5/linux/mlx5_common_os.c | 131 ++
drivers/common/mlx5/linux
When LWM meets RQ WQE, the kernel driver raises an event to SW.
Use devx event_channel to catch this and to notify the user.
Allocate this channel per shared device.
The channel has a cookie that informs the specific event port and queue.
Signed-off-by: Spike Du
---
drivers/net/mlx5/mlx5.c
The new API allows setting/unsetting/modifying an LWM(limit watermark)
event per Rxq.
While the Rx queue fullness reaches the LWM limit, the driver catches
an HW event and invokes the user callback.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 4 ++
doc/guides/rel_notes
.
The shaper limits the rate of traffic from host port to wire port.
If lwm-triggered is enabled, a 100Mbps shaper is enabled automatically
when one of the host port's Rx queues receives LWM(Limit Watermark) event.
Signed-off-by: Spike Du
---
doc/guides/nics/mlx5.rst | 7 +++
00Mbps.
To disable lwm_triggered and configure a shaper of 5Gbps on port 1:
testpmd> set port 1 host_shaper lwm_triggered 0 rate 50
Add sample code to handle rxq LWM event, it delays a while so that rxq
empties, then disables host shaper and rearms LWM event.
Signed-off-by: Spike Du
---
a
le, what's the correct way to do it? Any framework to isolate
the PMD private logic from testpmd common code, but still give a chance to call
private APIs in testpmd?
Regards,
Spike.
> -Original Message-
> From: Jerin Jacob
> Sent: Tuesday, April 5, 2022 4:59 PM
>
le, what's the correct way to do it? Any framework to isolate
the PMD private logic from testpmd common code, but still give a chance to call
private APIs in testpmd?
Regards,
Spike.
> -Original Message-
> From: Jerin Jacob
> Sent: Tuesday, April 5, 2022 4:59 PM
>
89 matches
Mail list logo