[Intel-gfx] [PATCH] drm/i915/perf: Do not clear pollin for small user read buffers
Chris Wilson
chris at chris-wilson.co.uk
Fri Apr 3 16:17:14 UTC 2020
Quoting Ashutosh Dixit (2020-04-03 02:01:20)
> It is wrong to block the user thread in the next poll when OA data is
> already available which could not fit in the user buffer provided in
> the previous read. In several cases the exact user buffer size is not
> known. Blocking user space in poll can lead to data loss when the
> buffer size used is smaller than the available data.
>
> This change fixes this issue and allows user space to read all OA data
> even when using a buffer size smaller than the available data using
> multiple non-blocking reads rather than staying blocked in poll till
> the next timer interrupt.
>
> v2: Fix ret value for blocking reads (Umesh)
> v3: Mistake during patch send (Ashutosh)
> v4: Remove -EAGAIN from comment (Umesh)
> v5: Improve condition for clearing pollin and return (Lionel)
> v6: Improve blocking read loop and other cleanups (Lionel)
> v7: Added Cc stable
>
> Cc: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
> Cc: <stable at vger.kernel.org>
> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
Did you manage to devise a test case? It is nice (some might say
important) to pair a patch for stable with its regression test.
-Chris
More information about the Intel-gfx
mailing list