Do not insert already sleeping tbb task back into sleeping list
During testing, it was found that tbb sleeping threads singly linked
list was corrupted and had become circular. This seemingly caused
my_slack count to get permanently stuck at -1, as the sleeping list
traversal would potentially never end.
During testing, using a specific assert, it was confirmed that duplicate
insertion did happen.
Fixed it by modifying the sleeing threads singly linked list into a
doubly linked list and then making sure that a thread if already in
the list is never prepended back as the head of the list.
Reviewed: https:/ /review. opencontrail. org/46490 github. com/Juniper/ contrail- controller/ commit/ f770d34b665cb61 40b7be390891e29 cd93c1ed00
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: R4.1
commit f770d34b665cb61 40b7be390891e29 cd93c1ed00
Author: Ananth Suryanarayana <email address hidden>
Date: Wed Sep 19 14:29:53 2018 -0700
Do not insert already sleeping tbb task back into sleeping list
During testing, it was found that tbb sleeping threads singly linked
list was corrupted and had become circular. This seemingly caused
my_slack count to get permanently stuck at -1, as the sleeping list
traversal would potentially never end.
During testing, using a specific assert, it was confirmed that duplicate
insertion did happen.
Fixed it by modifying the sleeing threads singly linked list into a
doubly linked list and then making sure that a thread if already in
the list is never prepended back as the head of the list.
https:/ /github. com/01org/ tbb/issues/ 86
Change-Id: I052d397bf8b881 c75e9ed6a8d17e7 cbc1b12764b bec185e921a83bd e4f55c1b6ed
Closes-Bug: #1684993
Depends-On: Ie5de2844a19843