1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/lima
Danilo Krummrich a78422e9df drm/sched: implement dynamic job-flow control
Currently, job flow control is implemented simply by limiting the number
of jobs in flight. Therefore, a scheduler is initialized with a credit
limit that corresponds to the number of jobs which can be sent to the
hardware.

This implies that for each job, drivers need to account for the maximum
job size possible in order to not overflow the ring buffer.

However, there are drivers, such as Nouveau, where the job size has a
rather large range. For such drivers it can easily happen that job
submissions not even filling the ring by 1% can block subsequent
submissions, which, in the worst case, can lead to the ring run dry.

In order to overcome this issue, allow for tracking the actual job size
instead of the number of jobs. Therefore, add a field to track a job's
credit count, which represents the number of credits a job contributes
to the scheduler's credit limit.

Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Reviewed-by: Luben Tuikov <ltuikov89@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@redhat.com
2023-11-10 02:54:29 +01:00
..
Kconfig drm/lima: Add optional devfreq and cooling device support 2020-03-28 16:29:46 +08:00
lima_bcast.c drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_bcast.h drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_ctx.c Revert "drm/lima: add usage counting method to ctx_mgr" 2023-04-05 08:40:47 +08:00
lima_ctx.h Revert "drm/lima: add usage counting method to ctx_mgr" 2023-04-05 08:40:47 +08:00
lima_devfreq.c drm/lima: Fix opp clkname setting in case of missing regulator 2022-11-14 19:08:21 +08:00
lima_devfreq.h drm for 5.13-rc1 2021-04-28 10:01:40 -07:00
lima_device.c drm/sched: implement dynamic job-flow control 2023-11-10 02:54:29 +01:00
lima_device.h Revert "drm/lima: allocate unique id per drm_file" 2023-04-05 08:40:06 +08:00
lima_dlbu.c drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_dlbu.h drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_drv.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
lima_drv.h Revert "drm/lima: allocate unique id per drm_file" 2023-04-05 08:40:06 +08:00
lima_dump.h drm/lima: save task info dump when task fail 2020-03-22 09:35:19 +08:00
lima_gem.c drm/shmem-helper: Switch to reservation lock 2023-06-21 20:22:20 +03:00
lima_gem.h drm/lima: support heap buffer creation 2020-01-27 22:01:09 +08:00
lima_gp.c drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_gp.h drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_l2_cache.c drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_l2_cache.h drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_mmu.c drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_mmu.h drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_pmu.c drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_pmu.h drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_pp.c drm/lima: fix wait pp reset timeout 2020-07-20 08:46:06 +08:00
lima_pp.h drm/lima: add resume/suspend callback for each ip 2020-04-24 20:51:10 +08:00
lima_regs.h drm/lima: update register info 2020-01-27 22:00:12 +08:00
lima_sched.c drm/sched: implement dynamic job-flow control 2023-11-10 02:54:29 +01:00
lima_sched.h drm/lima: use scheduler dependency tracking 2021-08-30 10:58:20 +02:00
lima_trace.c drm/lima: add trace point for tasks 2020-03-22 09:57:21 +08:00
lima_trace.h treewide: Add missing semicolons to __assign_str uses 2021-06-30 09:19:14 -04:00
lima_vm.c drm: lima: fix common struct sg_table related issues 2020-09-10 08:18:35 +02:00
lima_vm.h drm/lima: check vm != NULL in lima_vm_put 2020-04-24 20:50:46 +08:00
Makefile drm/lima: Add optional devfreq and cooling device support 2020-03-28 16:29:46 +08:00