[PATCH v2 3/4] timer: fix function to stop all timers

Carrillo, Erik G erik.g.carrillo at intel.com
Wed Aug 10 21:29:36 CEST 2022


Hi Harish,

> -----Original Message-----
> From: Naga Harish K, S V <s.v.naga.harish.k at intel.com>
> Sent: Wednesday, August 10, 2022 2:10 AM
> To: Carrillo, Erik G <erik.g.carrillo at intel.com>
> Cc: dev at dpdk.org; stable at dpdk.org
> Subject: [PATCH v2 3/4] timer: fix function to stop all timers
> 
> There is a possibility of deadlock in this API, as same spinlock is tried to be
> acquired in nested manner.
> 
> In timer_del function, if the previous owner and current owner lcore are

It might be clearer to say something like:

 "If the lcore that is stopping the timer is different from the lcore that owns the timer, the timer list lock is acquired in timer_del(), even if local_is_locked is true.  Because the same lock was already acquired in rte_timer_stop_all(), the thread will hang."
  
Thanks,
Erik

> different, the lock is tried to be acquired even though the same lock is
> already acquired by the caller of timer_del function.
> 
> This patch removes the acquisition of nested locking.
> 
> Fixes: 821c51267bcd63a ("timer: add function to stop all timers in a list")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Naga Harish K S V <s.v.naga.harish.k at intel.com>
> ---



More information about the stable mailing list