This patch initializes the last_stats[] for registers prior to starting
the monitoring itself. This way, the first measure will already contain
the difference from the previous value instead of non-initialized value.
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
This patch adds initial support for non-stdio output, to be used for
non-interactive monitoring.
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
second
This patch adds support for getopt, and adds two default parameters to it:
-h to show usage notes; and -s to allow user to define number of samples
to acquire per second.
Manpage documentation is also adjusted accordingly.
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
This allows intel_gpu_top to properly account for time spent inside system
calls. Effectively, with previous implementation, intel_gpu_top could
spent longer than 1s between consecutive measures. This attempts to
minimize the extra time spent while polling for data.
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
This is vital in a multi-GPU system so that we only test the Intel card
and not the discrete GPUs.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
A few of the tools can be performed post-mortem from a different system,
so it is useful to be able to compile those tools on those foreign
systems. Obviously, any program to interact with the PCI device or talk
to GEM will fail on a non-Intel system.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This requires that the window be much wider. I'm not sure how we
really want to lay out this interface usably, but so far giant windows
are working well enough for me.
When using intel_gpu_top in a small terminal, the most important
information (ring idle/busy units) scrolls off the top of the screen.
This patch limits the number of lines printed to the terminal height
so that the most idle units (at the bottom) are truncated instead.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
The printf used to clear the screen didn't have a format string, this
adds one to avoid a compiler warning.
Signed-off-by: Eric Anholt <eric@anholt.net>
It can be a bit easier to digest the percentages with bar graphs than by
scanning continually changing numbers.
Signed-off-by: Eric Anholt <eric@anholt.net>
For a typical vsync locked application running at 60fps, sampling at just
under twice a frame doesn't seem to give very stable lists of relevent hardware
units because there are a number of units involved that may not be sampled one
second to the next.
This bumps the sample rate to 10,000 instead which is ~ 170 samples per
frame so we tend to hit all the units involved.
It also changes the report threshold to a sample count >= 1, so you don't
see as many units with a percentage of 0.
Signed-off-by: Eric Anholt <eric@anholt.net>
humans are pretty bad at reading percentages quicky; this patch adds a
histogram capability to make it more visually clear as to which lines are
big ticket items