[1/2] drivers/net/mlx5: fix representor interrupts handler
Checks
Commit Message
Representor is a port in DPDK that is connected to a VF in such a way
that assuming there are no offload flows, each packet that is sent
from the VF will be received by the corresponding representor. While
each packet that is sent to a representor will be received by the VF.
This is very useful in case of SRIOV mode, where the first packet that
is sent by the VF will be received by the DPDK application which will
decide if this flow should be offloaded to the E-Switch.
Representor shares interrupts handler with host PF over the PCI
address. Therefore after PF completes it's interrupts handler
initialization no additional actions required for representor.
Fixes: 26c08b979d26 ("net/mlx5: add port representor awareness")
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
drivers/net/mlx5/mlx5_rxq.c | 10 ++++++++++
1 file changed, 10 insertions(+)
Comments
28/10/2020 10:59, Gregory Etelson:
> Representor is a port in DPDK that is connected to a VF in such a way
> that assuming there are no offload flows, each packet that is sent
> from the VF will be received by the corresponding representor. While
> each packet that is sent to a representor will be received by the VF.
> This is very useful in case of SRIOV mode, where the first packet that
> is sent by the VF will be received by the DPDK application which will
> decide if this flow should be offloaded to the E-Switch.
>
> Representor shares interrupts handler with host PF over the PCI
> address. Therefore after PF completes it's interrupts handler
it's -> its
> initialization no additional actions required for representor.
comma missing after "initialization"
> Fixes: 26c08b979d26 ("net/mlx5: add port representor awareness")
>
> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
> ---
> --- a/drivers/net/mlx5/mlx5_rxq.c
> +++ b/drivers/net/mlx5/mlx5_rxq.c
> + /**
> + * representor shares dev->intr_handle with PF
> + */
The style in mlx5 is to start comments with a capital letter
and to end with a period.
Moreover, it does not have to be a doxygen-style comment,
and can be on one line.
Matan, Slava, please check such details in reviews.
@@ -902,6 +902,11 @@ mlx5_rx_intr_vec_enable(struct rte_eth_dev *dev)
unsigned int count = 0;
struct rte_intr_handle *intr_handle = dev->intr_handle;
+ /**
+ * representor shares dev->intr_handle with PF
+ */
+ if (priv->representor)
+ return 0;
if (!dev->data->dev_conf.intr_conf.rxq)
return 0;
mlx5_rx_intr_vec_disable(dev);
@@ -982,6 +987,11 @@ mlx5_rx_intr_vec_disable(struct rte_eth_dev *dev)
unsigned int rxqs_n = priv->rxqs_n;
unsigned int n = RTE_MIN(rxqs_n, (uint32_t)RTE_MAX_RXTX_INTR_VEC_ID);
+ /**
+ * representor shares dev->intr_handle with PF
+ */
+ if (priv->representor)
+ return;
if (!dev->data->dev_conf.intr_conf.rxq)
return;
if (!intr_handle->intr_vec)