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/47317 github. com/Juniper/ contrail- packages/ commit/ 285925d9dd9373a 7c0af1ce82499c2 b7d3ca96f3
Committed: http://
Submitter: Abhay Joshi (<email address hidden>)
Branch: R3.2
commit 285925d9dd9373a 7c0af1ce82499c2 b7d3ca96f3
Author: Ananth Suryanarayana <email address hidden>
Date: Mon Oct 15 12:21:28 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
With this change, libtbb.so.2 is provided directly from contrail-lib
package.
Change-Id: I4b911de2405441 43ad1833641ffe6 40155a34648 02715c675db5fc0 8f58f1208e2
Depends-On: I83a7d267d4558c
Closes-Bug: #1684993