952e1e3710158982941fc70326e9fddc3021235d |
|
13-Jun-2016 |
Mathieu Chartier <mathieuc@google.com> |
Support unlimited pending checkpoints Prevents the spinning that used to happen if RunCheckpoint was called with 3 pending checkpoints. This spinning was done when holding thread_list_lock_ and thread_suspend_count_lock_ and could deadlock if any of the pending checkpoints required any of these locks. The fix is to use an overflow list instead of having a fixed limit of 3. Changed suspend stress test to have more threads and only compare last line since there may be libbacktrace spam like: "+E/libbacktrace(69891): void SignalHandler(int, siginfo_t *, void *): Timed out waiting for unwind thread to indicate it completed." Bug: 28988206 Change-Id: I2ae611506147d5199d59a08eee0395f7fa35d448
|
e99f53203904c23a26e53ca1bf6a4e45814146fe |
|
11-Jun-2016 |
Mathieu Chartier <mathieuc@google.com> |
Use ScopedObjectAccess in ThreadList::Dump Prevent deadlocks if two different threads are calling Dump at the same time: Thread 1: Requests thread 2 to suspend Thread 2: Requests thread 1 to suspend Both threads are suspended and blocked on ScopedObjectAccess in thread dumping. Added to suspend all stress, reduced thread count to 4 temporarily since this is the maximum number of simultaneous checkpoints. Bug: 28988206 Change-Id: I9e4b8391ebad0bca0e42a03819c58c99ddba6b35
|
a80e2afdd34bafc3e0c445fe456daba8b3562d5e |
|
09-Jun-2016 |
Mathieu Chartier <mathieuc@google.com> |
Add thread suspend stress Seems to be passing, aim to catch bugs related to thread suspension. Bug: 28988206 Change-Id: I48190900ccd7a2545c6f09cf730e995043b0d9b7
|