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/46339 github. com/Juniper/ contrail- third-party/ commit/ 92489e37bb67d48 fe8eaa07b1d6896 72e144e0db
Committed: http://
Submitter: Zuul v3 CI (<email address hidden>)
Branch: R5.0
commit 92489e37bb67d48 fe8eaa07b1d6896 72e144e0db
Author: Ananth Suryanarayana <email address hidden>
Date: Wed Sep 19 18:50:49 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
Closes-Bug: #1684993 cebb695a59864a9 da2ce2faa17 5cf2789a70bf536 21650c66516
Change-Id: I6773eb8dddd849
Depends-On: Iec821e3b08c382