[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