[igt-dev] [PATCH i-g-t v2] intel-gpu-top: Rewrite the tool to be safe to use

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Wed Apr 4 12:42:28 UTC 2018


Hi,

On 04/04/2018 13:15, Eero Tamminen wrote:
> Hi,
> 
> I've now tested v5 with old Ubuntu kernel on KBL, and with latest
> drm-tip kernel on SNB, HSW, BYT, BSW and BDW GT & GT3.
> 
> 
> Generic test results
> --------------------
> 
> * Tool works on all of them
> 
> * The new error messages and headings look good
> 
> * Idle IMC read amounts correspond to expected values on SNB & HSW.
>    The much smaller values on BDW & SKL are due to FBC (how well
>    it compresses, naturally depends on screen content).

Hm OK, you managed to explain it. Because in the meantime I have 
observed one oddity with write bandwidth on my headless SkullCanyon NUC. 
It idles around 28MiB/s, while when I load it up with some command 
streamer activity it drops to ~11MiB/s. I don't know, but just feels 
suspect. (Read bandwidth goes from ~215MiB/s at idle to ~4.5GiB/s in my 
load case.)

> 
> 
> BYT & BSW
> ---------
> 
> * IMC, power usage and actual(?) freq values are missing.
> 
> -> You can get actual freq by polling CAGF register, represented by:
>      /sys/class/drm/card0/gt_act_freq_mhz

Yep, this is the i915 internal limitation that we cannot expose this for 
consumption from PMU.

> 
> Normally i915 driver maps uncore power usage to GPU power usage,
> but BYT is missing that (and ram power usage).  However, RAPL
> does report package & core values...
> 
> 
> Suggestions
> -----------
> 
> Maybe on platforms where RAPL doesn't report "uncore" power usage,
> you could just deduct RAPL reported "core" power consumption from
> the "package" power consumption, and report that as "GPU" power
> usage?  (Or do that in i915 directly)

What are you referring to as "uncore" in the context of RAPL?

Do I understood correctly you suggested to use "energy-pkg - 
energy-cores" when "energy-gpu" is not available? If the former two are 
there both on on BYT and BSW, this sounds okay to me.

> You need also to either update the manual, or implement -o and -e

There is a manual, will do!

> options for the new version of intel_gpu_top.  CSV output of all
> the reported values would be nice.

I would prefer to drop both -o and -e, since this is achievable via perf 
stat. For instance:

perf stat -a -e power/energy-gpu/,i915/rcs0-busy/ -I 1000 -x, <command>

Gives CSV samples once per second.

On the other hand one argument I can think of to actually do implement 
-o and -e, is that we need to do some extra normalization on some i915 
counters perf tool would not do.

I don't have a feeling if anyone is actually using these options. If 
unlikely, we should probably drop them regardless.

> You might mention in manual as an example how to calculate
> idle screen update bandwidth, and that it's impacted by:
> - PSR (panel self refresh, depends on display supporting it):
>    /sys/kernel/debug/dri/0/i915_edp_psr_status
> - FBC (frame buffer compression, enabled on newer GENs)
>    /sys/kernel/debug/dri/0/i915_fbc_status
> - end-to-end RBC (render buffer compression, requires modifiers
>    support i.e. GEN9+ GPU and X & Mesa with DRI3 v1.2 [1] support)

Sounds useful for users, but I am a bit wary of feature creep. In this 
specific example I'd want to push it for follow-up work.

Regards,

Tvrtko


More information about the igt-dev mailing list