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
..
2021-03-10 00:01:34 -05:00
2022-08-10 15:07:14 -04:00
2021-04-09 16:46:26 -04:00
2022-07-28 16:05:16 -04:00
2023-08-15 18:07:42 -04:00
2023-08-15 18:08:27 -04:00
2023-07-12 10:58:01 -04:00
2023-11-01 17:29:20 -04:00
2021-11-17 16:58:01 -05:00
2022-07-28 16:05:14 -04:00
2023-07-12 10:58:01 -04:00
2023-06-09 09:42:43 -04:00
2023-06-09 09:42:43 -04:00
2023-09-11 18:15:43 -04:00
2023-09-11 18:15:43 -04:00
2023-06-09 12:36:46 -04:00
2023-09-11 18:15:43 -04:00
2023-09-11 18:15:43 -04:00
2023-07-27 14:59:29 -04:00
2023-08-15 18:08:29 -04:00
2023-09-11 18:16:31 -04:00
2023-08-11 14:47:25 -04:00
2023-08-07 17:14:09 -04:00
2023-08-09 09:43:40 -04:00
2023-08-31 18:09:45 -04:00
2022-04-28 17:47:52 -04:00
2023-08-07 17:13:10 -04:00
2022-02-23 14:02:51 -05:00
2023-08-09 09:39:56 -04:00
2023-07-12 14:14:50 +02:00
2023-07-12 14:14:50 +02:00
2023-08-07 17:12:49 -04:00
2023-06-09 09:25:43 -04:00
2023-08-31 18:14:49 -04:00
2023-07-12 14:14:50 +02:00
2023-07-12 14:14:36 +02:00
2023-06-09 12:47:26 -04:00
2023-06-15 11:37:55 -04:00
2023-06-15 11:37:55 -04:00
2023-11-01 17:29:20 -04:00
2021-10-05 12:22:36 -04:00
2023-11-01 17:29:21 -04:00
2022-04-08 17:24:24 -04:00
2023-10-11 09:50:59 +02:00
2023-06-09 09:47:43 -04:00
2023-08-31 18:03:48 -04:00
2022-11-15 11:51:36 -05:00
2023-06-09 10:00:00 -04:00
2021-05-26 20:56:23 +02:00
2023-08-07 17:14:07 -04:00
2023-08-15 18:08:28 -04:00
2023-08-15 18:08:29 -04:00
2023-06-09 09:59:20 -04:00
2023-07-27 14:59:29 -04:00
2021-07-01 00:24:41 -04:00
2023-06-09 10:38:09 -04:00
2023-07-27 15:05:31 -04:00
2023-05-24 18:03:29 +02:00
2023-08-16 11:34:57 -04:00
2023-08-09 09:45:55 -04:00
2023-08-09 09:45:55 -04:00
2023-07-25 13:36:08 -04:00
2023-06-09 10:50:55 -04:00
2023-06-09 09:51:06 -04:00
2023-09-29 08:27:15 +10:00
2023-06-09 10:36:38 -04:00
2023-08-16 11:35:14 -04:00
2023-09-11 18:16:31 -04:00
2022-08-16 18:14:31 -04:00
2023-06-09 12:31:20 -04:00
2023-07-07 13:51:47 -04:00
2022-10-27 11:42:58 +02:00
2023-03-13 17:27:48 -04:00
2023-03-13 17:27:48 -04:00
2023-06-15 17:55:41 -04:00
2022-12-14 09:48:05 -05:00
2021-08-11 17:19:54 -04:00
2023-07-25 13:47:26 -04:00
2023-06-09 12:49:48 -04:00
2023-06-09 12:49:48 -04:00
2023-07-12 10:57:25 -04:00
2023-07-12 10:57:25 -04:00
2022-06-03 16:44:15 -04:00
2021-12-13 16:34:27 -05:00
2023-07-12 10:57:25 -04:00
2023-06-09 09:43:50 -04:00
2023-11-10 02:54:29 +01:00
2023-06-15 11:37:55 -04:00
2023-06-30 13:11:35 -04:00
2023-06-09 10:41:23 -04:00
2023-09-11 18:25:26 -04:00
2022-05-10 17:53:11 -04:00
2022-05-10 17:53:12 -04:00
2023-03-15 18:45:26 -04:00
2023-03-15 18:45:26 -04:00
2022-06-28 11:24:05 -04:00
2023-08-07 17:14:07 -04:00
2023-08-07 17:14:07 -04:00
2023-03-13 17:27:48 -04:00
2023-06-09 09:53:13 -04:00
2023-01-30 15:37:57 +10:00
2023-08-09 09:46:05 -04:00
2023-08-09 09:46:05 -04:00
2023-08-07 17:14:06 -04:00
2023-08-07 17:14:06 -04:00
2021-12-13 16:32:34 -05:00
2021-08-24 15:35:25 -04:00
2023-08-09 18:08:51 -04:00
2022-02-14 15:05:39 +01:00
2022-10-27 15:12:08 -04:00
2022-10-27 15:12:08 -04:00
2023-08-31 17:58:58 -04:00
2023-08-31 17:58:58 -04:00
2023-06-23 15:33:09 -04:00
2023-08-31 17:52:49 -04:00
2023-06-09 12:44:40 -04:00
2023-09-11 18:20:07 -04:00
2023-06-30 13:12:15 -04:00
2023-08-07 17:14:06 -04:00
2023-07-27 14:59:29 -04:00
2022-10-18 22:08:33 -04:00
2023-08-15 17:44:02 -04:00
2023-07-27 15:04:19 -04:00
2023-06-15 11:37:55 -04:00
2023-08-09 09:43:45 -04:00
2023-06-09 12:32:30 -04:00
2023-07-18 11:16:41 -04:00
2023-09-01 15:12:07 +02:00
2023-06-09 09:25:02 -04:00
2023-10-26 16:04:24 -04:00
2023-10-26 16:04:24 -04:00
2023-01-05 11:43:46 -05:00
2023-01-05 11:43:46 -05:00
2023-06-09 09:48:33 -04:00
2023-01-05 20:34:58 +01:00
2022-11-03 12:45:20 +01:00
2022-03-04 13:03:30 -05:00
2023-08-09 09:43:43 -04:00
2023-08-15 18:08:30 -04:00
2023-08-07 17:14:06 -04:00
2023-08-07 17:14:07 -04:00
2023-02-15 22:24:36 -05:00
2023-06-15 11:06:59 -04:00
2023-06-09 12:44:31 -04:00
2023-06-09 09:48:22 -04:00
2023-06-09 10:38:22 -04:00
2022-03-04 13:03:30 -05:00
2023-06-09 10:38:22 -04:00
2022-03-04 13:03:30 -05:00
2023-07-18 11:06:54 -04:00
2023-07-25 13:39:21 -04:00
2023-08-09 09:43:47 -04:00
2023-07-25 13:35:23 -04:00
2023-07-13 17:32:15 -04:00
2021-12-01 16:02:57 -05:00
2023-07-07 13:51:48 -04:00
2023-07-21 16:52:25 -04:00
2023-03-22 00:47:58 -04:00
2023-08-04 11:10:18 +02:00
2023-08-04 11:10:18 +02:00
2023-09-11 20:18:06 +02:00
2022-07-15 15:41:51 +02:00
2023-08-16 11:34:11 -04:00
2023-07-18 11:19:02 -04:00
2023-07-25 13:47:26 -04:00
2023-03-15 18:45:27 -04:00
2023-09-11 18:18:17 -04:00
2023-06-09 10:41:07 -04:00
2023-07-25 13:39:29 -04:00
2022-04-08 17:24:24 -04:00
2022-04-08 17:24:24 -04:00
2022-04-08 17:24:24 -04:00
2022-04-08 17:24:24 -04:00
2022-04-08 17:24:24 -04:00
2022-04-08 17:24:24 -04:00
2022-08-16 18:06:00 -04:00
2022-05-04 09:57:10 -04:00
2023-07-21 16:52:24 -04:00
2023-08-15 18:07:42 -04:00
2023-01-18 09:25:30 +01:00
2022-04-25 11:17:45 +02:00
2023-01-18 09:25:30 +01:00
2023-08-09 09:43:13 -04:00
2023-10-26 16:04:24 -04:00
2023-08-21 14:11:35 -05:00
2022-06-28 11:23:32 -04:00
2021-05-19 23:50:27 -04:00
2023-01-24 17:36:29 +01:00
2023-08-09 09:43:36 -04:00
2023-08-09 09:43:30 -04:00
2023-01-24 17:36:29 +01:00
2023-02-03 15:37:31 -05:00
2022-04-08 17:24:24 -04:00
2022-12-15 12:19:30 -05:00
2022-12-15 12:19:30 -05:00
2023-09-11 18:16:31 -04:00
2023-09-11 18:16:31 -04:00
2023-09-11 18:16:31 -04:00
2023-09-11 18:16:31 -04:00
2023-04-18 16:28:55 -04:00
2023-06-09 12:34:56 -04:00
2022-01-14 17:51:59 -05:00
2023-09-11 18:16:31 -04:00
2023-06-09 09:49:56 -04:00
2023-06-09 10:37:15 -04:00
2022-01-14 17:51:59 -05:00
2023-09-11 18:16:31 -04:00
2023-06-09 10:38:19 -04:00
2023-01-17 16:11:50 -05:00
2023-09-11 18:16:31 -04:00
2022-05-04 10:43:54 -04:00
2023-07-10 09:02:36 -04:00
2021-11-03 12:22:07 -04:00
2023-08-07 17:13:09 -04:00
2023-06-09 09:49:56 -04:00
2023-07-10 09:02:36 -04:00
2023-07-10 09:02:36 -04:00
2023-07-10 09:02:37 -04:00
2022-08-30 16:36:54 -04:00
2023-07-10 09:02:37 -04:00
2022-05-04 09:57:13 -04:00
2023-07-10 09:02:36 -04:00
2023-07-18 11:09:30 -04:00
2023-07-18 11:09:30 -04:00
2023-08-16 11:38:11 -04:00
2023-07-27 15:05:31 -04:00
2023-07-27 15:05:31 -04:00
2022-05-04 09:57:26 -04:00
2023-03-13 17:27:48 -04:00
2022-01-14 17:51:59 -05:00
2022-04-08 17:24:24 -04:00
2022-08-16 18:05:54 -04:00
2022-05-06 10:36:13 -04:00
2022-05-05 16:51:21 -04:00
2022-05-04 09:53:58 -04:00
2022-05-04 09:53:18 -04:00
2023-08-09 09:43:18 -04:00
2022-05-04 09:53:12 -04:00
2023-08-07 16:35:38 -04:00
2023-08-07 16:35:38 -04:00
2022-09-13 14:33:01 -04:00
2022-08-30 16:37:14 -04:00
2023-01-25 13:48:16 -05:00
2022-05-04 10:43:54 -04:00
2023-06-09 11:07:00 -04:00
2023-08-09 09:43:28 -04:00
2022-06-08 11:43:55 -04:00
2023-06-09 11:07:00 -04:00
2022-03-28 12:54:39 -04:00
2023-08-09 09:39:56 -04:00
2023-08-31 17:54:18 -04:00
2023-06-09 09:45:58 -04:00
2023-08-09 09:39:56 -04:00
2022-11-17 18:08:27 -05:00
2023-07-12 14:14:26 +02:00
2022-05-10 17:53:12 -04:00
2022-05-10 17:53:11 -04:00
2023-08-07 16:35:38 -04:00
2023-03-15 18:45:26 -04:00
2023-03-15 18:45:26 -04:00
2023-07-25 13:47:26 -04:00
2023-08-09 09:43:42 -04:00
2022-05-04 10:43:54 -04:00
2023-06-09 09:40:03 -04:00
2022-01-14 17:51:59 -05:00
2023-06-09 09:40:03 -04:00
2022-01-14 17:51:59 -05:00
2023-08-07 17:13:09 -04:00
2023-06-09 09:53:42 -04:00
2023-06-09 09:40:03 -04:00
2023-08-07 17:12:49 -04:00
2023-06-09 09:40:03 -04:00
2022-06-03 16:44:15 -04:00
2023-06-09 09:40:03 -04:00
2022-05-05 16:51:48 -04:00
2023-06-09 09:40:03 -04:00
2022-05-04 09:57:18 -04:00
2023-08-09 09:43:22 -04:00
2022-01-14 17:51:59 -05:00
2021-08-18 18:22:25 -04:00
2023-06-09 12:44:12 -04:00
2023-08-15 18:08:27 -04:00
2023-06-09 12:44:12 -04:00
2022-12-15 12:18:19 -05:00
2022-12-15 12:18:19 -05:00
2023-08-09 09:43:32 -04:00
2022-12-15 12:18:19 -05:00
2023-08-09 09:43:51 -04:00
2023-07-12 10:57:25 -04:00
2023-06-23 15:46:22 -04:00
2022-07-18 16:42:18 -04:00
2023-09-11 18:19:48 -04:00
2023-03-31 11:18:32 -04:00
2022-09-13 14:25:39 -04:00
2022-04-08 17:24:24 -04:00
2023-03-09 22:06:19 -05:00
2023-04-13 00:14:08 -04:00
2022-07-18 16:41:55 -04:00
2022-09-13 14:32:58 -04:00
2022-05-06 10:36:13 -04:00
2023-08-31 17:58:23 -04:00
2023-08-09 09:46:04 -04:00
2023-08-09 09:43:49 -04:00
2021-10-20 11:43:57 -04:00
2023-04-24 18:16:23 -04:00
2022-03-22 10:53:39 -04:00
2023-06-09 09:57:53 -04:00
2023-01-10 14:32:56 -05:00
2023-06-09 10:40:57 -04:00
2022-11-17 18:09:16 -05:00
2021-07-23 10:08:01 -04:00
2023-01-10 14:32:56 -05:00
2023-01-10 14:32:56 -05:00
2023-01-10 14:32:56 -05:00
2022-07-29 15:24:38 -04:00
2023-09-06 22:11:51 -04:00
2023-06-15 11:06:58 -04:00
2023-10-26 16:04:24 -04:00
2023-10-26 16:04:24 -04:00
2023-10-26 16:04:24 -04:00
2023-06-30 13:12:15 -04:00
2023-06-09 09:49:56 -04:00
2023-06-09 09:25:37 -04:00
2022-01-14 17:52:00 -05:00
2023-10-26 16:04:24 -04:00
2023-10-26 16:04:24 -04:00
2022-05-04 10:43:55 -04:00
2023-10-26 16:04:24 -04:00
2022-05-04 10:43:55 -04:00
2023-10-26 16:04:24 -04:00
2021-05-19 23:50:27 -04:00
2023-08-21 14:11:35 -05:00
2023-06-09 09:21:03 -04:00
2022-08-16 18:14:31 -04:00
2022-02-07 17:59:53 -05:00
2022-01-27 15:49:48 -05:00
2023-02-14 15:47:15 -05:00
2023-02-14 15:47:15 -05:00
2022-04-08 17:24:24 -04:00
2022-04-08 17:24:24 -04:00
2022-04-08 17:24:24 -04:00
2023-06-09 09:48:33 -04:00
2023-06-09 09:48:36 -04:00
2022-05-04 09:54:38 -04:00
2022-05-04 09:54:38 -04:00
2022-04-08 17:24:24 -04:00
2021-03-23 22:52:38 -04:00
2023-07-18 11:16:41 -04:00
2023-08-31 18:05:43 -04:00
2023-06-09 09:49:39 -04:00
2022-12-02 10:04:45 -05:00
2023-09-11 18:19:42 -04:00
2022-04-28 17:48:40 -04:00
2023-06-15 11:06:59 -04:00
2023-01-05 11:43:46 -05:00
2021-08-18 18:22:24 -04:00
2023-08-09 09:43:58 -04:00
2022-10-11 11:04:55 -04:00
2022-01-14 17:51:59 -05:00
2023-04-11 18:03:44 -04:00
2022-10-17 17:41:21 -04:00
2022-10-11 11:05:23 -04:00
2022-01-14 17:51:59 -05:00
2023-06-09 12:44:31 -04:00
2023-06-15 11:06:59 -04:00
2023-08-09 09:43:52 -04:00
2021-09-23 15:17:29 -04:00
2022-04-08 17:24:24 -04:00
2022-11-03 12:45:20 +01:00
2023-08-09 09:43:26 -04:00
2021-09-23 15:17:29 -04:00
2023-08-09 09:43:15 -04:00
2023-06-09 09:40:03 -04:00
2023-04-14 13:47:49 -04:00
2022-05-06 16:57:36 -04:00
2023-08-09 09:43:34 -04:00
2023-07-12 11:12:09 -04:00
2023-07-12 11:12:09 -04:00
2022-03-28 12:54:39 -04:00
2023-08-09 09:44:00 -04:00
2022-05-06 16:57:44 -04:00
2023-08-16 11:33:59 -04:00
2023-06-09 09:41:27 -04:00
2023-08-09 09:43:54 -04:00
2022-11-17 18:08:20 -05:00
2023-07-12 10:57:25 -04:00
2023-08-09 09:43:20 -04:00
2023-06-09 12:41:11 -04:00