Threads awoken by CthAwaken don't let Projections trace back to the event that woke them
When working with code using threads (threaded entry methods, probably AMPI as well), Projections traces are somewhat annoying to work with in the timeline, because clicking on the bar representing the thread's execution produces the warning that "Message was sent from outside the current time range" which is very misleading.
CthAwaken() should record the event that led to that thread being placed in the queue as runnable, so that awakenings can be traced back.
On close examination, there is a trace from the message event to the
dummy_thread_chare::dummy_thread_ep event, but then none from that to the actual work that runs in the thread which gets recorded as a separate event.
This of course breaks critical path following as well.
#1 Updated by Phil Miller over 3 years ago
- Status changed from New to Implemented
- File 0001-Bug-901-Added-tracing-for-thread-context-switch-even.patch View added
- Assignee changed from Ronak Buch to Phil Miller
Patch implemented in collaboration with Charmworks prospective hire Steve Hoelle. Attached, will post to Gerrit shortly.
Cleans up tracing around thread creation/switching events substantially, gets me the tracing I need.
#2 Updated by Phil Miller over 3 years ago
Test case that we wrote and used to debug these various changes. To be meaningful to integrate in the automatic test suite, would need to add some introspection into what the traces are recording (i.e. whether each resumed thread depends on the event that awoke it).
#13 Updated by Sam White about 2 years ago
With issue #901 resolved now, this issue has become a more visible sore of AMPI Projections usage. Note that AMPI threads are created by TCharm with a call to CthCreate(). AMPI does have a few [threaded] entry methods too, but those only used for split-phase communicator creation.
#16 Updated by Sam White over 1 year ago
- Assignee changed from Phil Miller to Seonmyeong Bak