[PATCH v3] net/iavf: fix error of virtchnl command

Zhang, Qi Z qi.z.zhang at intel.com
Sun Oct 9 08:03:31 CEST 2022



> -----Original Message-----
> From: Yiding Zhou <yidingx.zhou at intel.com>
> Sent: Saturday, October 8, 2022 4:49 PM
> To: dev at dpdk.org
> Cc: Wu, Jingjing <jingjing.wu at intel.com>; Xing, Beilei
> <beilei.xing at intel.com>; Zhou, YidingX <yidingx.zhou at intel.com>;
> stable at dpdk.org
> Subject: [PATCH v3] net/iavf: fix error of virtchnl command


...

> When the device is bonded, bond pmd will register callback for LSC event.
> This callback will execute some virtchnl commands in eal-intr-thread to
> reinitialize the device with interrupts disabled. In this case, responses to all
> commands not be received.
>
> This commit starts a thread to handle all events to fix this issue.
>
> Fixes: 48de41ca11f0 ("net/avf: enable link status update")
> CC: stable at dpdk.org
>
> Signed-off-by: Yiding Zhou <yidingx.zhou at intel.com>
> ---
> +
>  static uint32_t
>  iavf_convert_link_speed(enum virtchnl_link_speed virt_link_speed)  { @@ -
> 293,7 +427,7 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev,
> uint8_t *msg,
>                       vf->link_speed = iavf_convert_link_speed(speed);
>               }
>               iavf_dev_link_update(dev, 0);
> -             rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC, NULL);
> +             iavf_dev_event_post(dev, RTE_ETH_EVENT_INTR_LSC, NULL);

If we decide to raise an etherdev event from a separate thread, is it better to do this for all events ?



More information about the stable mailing list