> -----Original Message-----

> From: Mingjin Ye <mingjinx.ye@intel.com>

> Sent: Tuesday, April 11, 2023 10:09 AM

> To: dev@dpdk.org

> Cc: Yang, Qiming <qiming.yang@intel.com>; stable@dpdk.org; Zhou, YidingX <yidingx.zhou@intel.com>; Ye, MingjinX <mingjinx.ye@intel.com>; Zhang, Ke1X <ke1x.zhang@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>

> Subject: [PATCH v7] net/ice: fix ice dcf control thread crash

> 

> The control thread accesses the hardware resources after the resources were released, which results in a segment error.

> 

> The 'ice-reset' threads are detached, so thread resources cannot be reclaimed by `pthread_join` calls.

> 

> This commit synchronizes the number of "ice-reset" threads by adding a variable ("vsi_update_thread_num") to the "struct ice_dcf_hw" and performing an atomic operation on this variable. When releasing HW resources, we wait for the number of "ice-reset" threads to be reduced to 0 before releasing the resources.

> 

> Fixes: c7e1a1a3bfeb ("net/ice: refactor DCF VLAN handling")

> Fixes: 3b3757bda3c3 ("net/ice: get VF hardware index in DCF")

> Fixes: 7564d5509611 ("net/ice: add DCF hardware initialization")

> Fixes: 0b02c9519432 ("net/ice: handle PF initialization by DCF")

> Cc: stable@dpdk.org

> 

> Signed-off-by: Ke Zhang <ke1x.zhang@intel.com>

> Signed-off-by: Mingjin Ye <mingjinx.ye@intel.com>

 

Tested-by: Tingting Liao <tingtingx.liao@intel.com>