[igt-dev] [PATCH i-g-t 3/3] tools: Allow user to set poll delay in i915 perf recorder

Dixit, Ashutosh ashutosh.dixit at intel.com
Wed Mar 25 19:06:56 UTC 2020


On Thu, 19 Mar 2020 15:52:54 -0700, Umesh Nerlige Ramappa wrote:
>
> Add poll delay parameter to the i915-perf-recorder tool so that the user
> can set the frequency of the poll timer that checks for available
> reports in the OA buffer.
>
> v2:
> - Change poll period parameter type to match kernel interface (Lionel)
> - Update to use poll period in the code (Ashutosh)
>
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> ---
>  tools/i915-perf/i915_perf_recorder.c | 37 +++++++++++++++++++++++++---
>  1 file changed, 34 insertions(+), 3 deletions(-)
>
> diff --git a/tools/i915-perf/i915_perf_recorder.c b/tools/i915-perf/i915_perf_recorder.c
> index 6bbc451e..ca4f13ea 100644
> --- a/tools/i915-perf/i915_perf_recorder.c
> +++ b/tools/i915-perf/i915_perf_recorder.c
> @@ -374,6 +391,11 @@ perf_open(struct recording_context *ctx)
>	properties[p++] = DRM_I915_PERF_PROP_OA_EXPONENT;
>	properties[p++] = ctx->oa_exponent;
>
> +	if (revision >= 4) {

Isn't this revision >= 5?

> @@ -720,7 +742,10 @@ usage(const char *name)
>		"                                       (To use with i915-perf-control)\n"
>		"     --output,             -o <path>   Output file (default = i915_perf.record)\n"
>		"     --cpu-clock,          -k <path>   Cpu clock to use for correlations\n"
> -		"                                       Values: boot, mono, mono_raw (default = mono)\n",
> +		"                                       Values: boot, mono, mono_raw (default = mono)\n"
> +		"     --poll-delay          -P <value>  Polling interval in microseconds used by a timer in the driver to query\n"

Call this poll-period too?

> @@ -788,9 +814,11 @@ main(int argc, char *argv[])
>
>		.command_fifo = I915_PERF_RECORD_FIFO_PATH,
>		.command_fifo_fd = -1,
> +
> +		.poll_period = 5 * 1000 * 1000,

Put a comment above that this is 5 ms?

Otherwise, one thing missing in the patch is that if timer poll period is
long we may need a larger buffer than the 4K buffer being used in
write_i915_perf_data(). To address this I have just posted the following
i915 patch:

https://patchwork.freedesktop.org/series/75085/

So I think we should not increase the size of the buffer here but use the
kernel patch above to handle the small user read buffer
situation. Thoughts?
--
Ashutosh


More information about the igt-dev mailing list