On Fri, Apr 1, 2022 at 8:53 AM Spike Du <spi...@nvidia.com> wrote:
>
> LWM(limit watermark) is per RX queue attribute, when RX queue fullness reach
> the LWM limit, HW sends an event to dpdk application.
> Host shaper can configure shaper rate and lwm-triggered for a host port.
> 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 event.
>
> These two features can combine to control traffic from host port to wire port.
> The work flow is configure LWM to RX queue and enable lwm-triggered flag in
> host shaper, after receiving LWM 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 Rxq LWM
>   net/mlx5: add private API to config host port shaper
>   app/testpmd: add LWM and Host Shaper command

+ @Andrew Rybchenko  @Ferruh Yigit cristian.dumitre...@intel.com

I think, case one, can be easily abstracted via adding new
rte_eth_event_type event and
case two can be abstracted via the existing Rx meter framework in ethdev.

Also, Updating generic testpmd to support PMD specific API should be
avoided, I know there
is existing stuff in testpmd, I think, we should have the policy to
add PMD specific commands to testpmd.

There are around 56PMDs in ethdev now, If PMDs try to add PMD specific
API in testpmd it will be bloated or
at minimum, it should a separate file in testpmd if we choose to take that path.

+ @techbo...@dpdk.org

Reply via email to