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

Dixit, Ashutosh
2020-03-25T19:54:03Z

On Wed, 25 Mar 2020 12:20:37 -0700, Lionel Landwerlin wrote:
>
> On 25/03/2020 21:06, Dixit, Ashutosh wrote:
> > On Thu, 19 Mar 2020 15:52:54 -0700, Umesh Nerlige Ramappa wrote:
> > 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/
>
> write_i915_perf_data() just pulls the data and writes it back into the
> output. It doesn't matter that it's 4k, it just needs to be bigger
> enough to hold at least one report.

Let us say the hrtimer poll period is set to 500 ms in which 20 K OA data
is ready to be read. Without the kernel patch, the code gets blocked in the
poll and is unblocked every 500 ms after which it is able to read only 4 K
data. So instead of reading 20 K data every 500 ms it is only able to read
4 K every 500 ms.

The kernel patch solves this issue, the poll will not block till all
pending data is read. So with the example above, the code will issue 5 read
calls every 500 ms (with the 4 K buffer) to read 20 K data every 500 ms.

>
> -Lionel
>
> >
> > 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