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/46533 github. com/Juniper/ contrail- third-party- cache/commit/ 2bc86f217df73ef 1bcdd2c9ad87540 cd4f9cb95c
Committed: http://
Submitter: Zuul v3 CI (<email address hidden>)
Branch: master
commit 2bc86f217df73ef 1bcdd2c9ad87540 cd4f9cb95c
Author: Ananth Suryanarayana <email address hidden>
Date: Wed Sep 26 12:03:07 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: Ic0a943b54afa07 115ad6f304310d3 85cb199c504 b5486189eb0dc69 cd524ed4170 19c42e4166015c9 216466c6865
Closes-Bug: #1684993
Depends-On: I1c08787cf74a12
Depends-On: I84993a23b4524f