From: Tvrtko Ursulin <tvrtko.ursu...@intel.com>
Collection of fixes on top of John's recent work.
Problems were mostly in the request split logic which had several issues both
in my original version, and also after John's improvements.
Handling of "incomplete" requests (the ones which received neither notify nor
context complete) was also a bit incorrect.
After this series it seems to work fine, famous last words. Anyway with my test
data it correctly draws the timeline with no overalaps considering both merged
requests and submission to port 1.
I also added context colouring mode so it is easier to follow the timeline and
started using hw_id for context id's for additional readability.
* Update for tracepoint renames. (new in series)
* Remove hw_id change. (droppped from series)
* Fix incomplete handling in split mode (-s).
This did not work well for workloads which generate very few
intel_engine_notify events. I am not that confident it is 100% correct now,
but at least it doesn't crash the script and output for one other workload I
had lying around looks correct.
I guess the moral of the story here is split mode is not easy to get right if
it is considered just a side project and more time needs to be set aside to
John Harrison (4):
scripts/trace.pl: More hash key optimisations
scripts/trace.pl: Sort order
scripts/trace.pl: Calculate stats only after all munging
scripts/trace.pl: Simplify 'end' & 'notify' generation
Tvrtko Ursulin (7):
trace.pl: Catch-up with tracepoint renames
trace.pl: Move sortQueue near its user
trace.pl: Move min/max timestamp lookup to last loop
trace.pl: Fix engine busy accounting in split mode
trace.pl: Add support for colouring context execution
trace.pl: Fix incomplete request handling
trace.pl: Fix request split mode
scripts/trace.pl | 372 +++++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 278 insertions(+), 94 deletions(-)
Intel-gfx mailing list