[PATCH 0/3] drm/v3d: CL/CSD job timeout fixes

Yukimasa Sugizaki ysugi at idein.jp
Thu Sep 3 16:48:18 UTC 2020


From: Yukimasa Sugizaki <ysugi at idein.jp>

Hi,

The current V3D scheduler has two issues where CSD jobs are resubmitted
regardless of the previous timed-out flag, and where the timer is not
restarted for timed-out CL/CSD jobs (which we wish to continue running).
The second one is due to the DRM scheduler API change and fixed in a
similar way to [1].  A kernel command-line option to set the default
timeout value is also added.

I tested this patchset with Piglit and our CSD programs in [2].  Because
it is hard to get the current upstream kernel to work on BCM2711, I used
the kernel from rpi-5.8.y tree [3].  There still are problems where some
Piglit tests get longer time to finish running (3610 minutes to 3650
minutes in total), and some ones result in the invalid memory read
errors with unknown reasons:

[17086.230959] v3d fec00000.v3d: MMU error from client CLE (4) at 0xac1000, pte invalid
[17086.238722] v3d fec00000.v3d: MMU error from client CLE (4) at 0x1b61000, pte invalid
[18643.303188] v3d fec00000.v3d: MMU error from client L2T (0) at 0x15bff00, pte invalid
[18655.933748] v3d fec00000.v3d: MMU error from client L2T (0) at 0x15bff00, pte invalid

However, most of the CL/CSD programs are now working happily without
kernel warnings and errors.

Regards,
Sugizaki

[1] https://patchwork.kernel.org/patch/11732895/
[2] https://github.com/Idein/py-videocore6
[3] https://github.com/raspberrypi/linux/tree/rpi-5.8.y

Yukimasa Sugizaki (3):
  drm/v3d: Don't resubmit guilty CSD jobs
  drm/v3d: Correctly restart the timer when progress is made
  drm/v3d: Add job timeout module param

 drivers/gpu/drm/v3d/v3d_sched.c | 62 +++++++++++++++++++++++++++++++++--------
 1 file changed, 51 insertions(+), 11 deletions(-)

--
2.7.4



More information about the dri-devel mailing list