Displaying 9 results from an estimated 9 matches for "timeout_wq".
Did you mean:
timeout_hi
2025 Jan 22
5
[PATCH] drm/sched: Use struct for drm_sched_init() params
...core, ring->name,
- adev->dev);
+ params.ops = &amdgpu_sched_ops;
+ params.submit_wq = NULL; /* Use the system_wq. */
+ params.num_rqs = DRM_SCHED_PRIORITY_COUNT;
+ params.credit_limit = ring->num_hw_submission;
+ params.hang_limit = 0;
+ params.timeout = timeout;
+ params.timeout_wq = adev->reset_domain->wq;
+ params.score = ring->sched_score;
+ params.name = ring->name;
+ params.dev = adev->dev;
+
+ r = drm_sched_init(&ring->sched, ¶ms);
if (r) {
DRM_ERROR("Failed to create scheduler on ring %s.\n",
ring->name);
dif...
2025 Jan 22
1
[PATCH] drm/sched: Use struct for drm_sched_init() params
...t; > .ops = &panthor_queue_sched_ops,
> > .submit_wq = group->ptdev->scheduler->wq,
> > .num_rqs = 1,
> > .credit_limit = args->ringbuf_size / sizeof(u64),
> > .hang_limit = 0,
> > .timeout = msecs_to_jiffies(JOB_TIMEOUT_MS),
> > .timeout_wq = group->ptdev->reset.wq,
> > .name = "panthor-queue",
> > .dev = group->ptdev->base.dev,
> > };
>
> +1 on this as a general approach for the whole series. And I'd drop the
> explicit zeros and NULLs. Memsets could then go too.
&...
2025 Jan 23
1
[PATCH] drm/sched: Use struct for drm_sched_init() params
...queue_sched_ops,
> > > .submit_wq = group->ptdev->scheduler->wq,
> > > .num_rqs = 1,
> > > .credit_limit = args->ringbuf_size / sizeof(u64),
> > > .hang_limit = 0,
> > > .timeout = msecs_to_jiffies(JOB_TIMEOUT_MS),
> > > .timeout_wq = group->ptdev->reset.wq,
> > > .name = "panthor-queue",
> > > .dev = group->ptdev->base.dev,
> > > };
> >
+2
Matt
> > +1 on this as a general approach for the whole series. And I'd drop the
> > explicit zero...
2025 Jan 23
0
[PATCH] drm/sched: Use struct for drm_sched_init() params
...; /* Use the system_wq. */
>>>>> + params->num_rqs = DRM_SCHED_PRIORITY_COUNT;
>>>>> + params->credit_limit = 1;
>>>>> + params->hang_limit = 0;
>>>>> + params->timeout = msecs_to_jiffies(500);
>>>>> + params->timeout_wq = NULL; /* Use the system_wq. */
>>>>> + params->score = NULL;
>>>>> + params->dev = dev;
>>>>> +}
>>>>
>>>> Could we use only one function that takes struct v3d_dev *v3d,
>>>> enum
>>>> v3d_queue, an...
2025 Jan 23
2
[PATCH] drm/sched: Use struct for drm_sched_init() params
...));
> > +
> > + params->submit_wq = NULL; /* Use the system_wq. */
> > + params->num_rqs = DRM_SCHED_PRIORITY_COUNT;
> > + params->credit_limit = 1;
> > + params->hang_limit = 0;
> > + params->timeout = msecs_to_jiffies(500);
> > + params->timeout_wq = NULL; /* Use the system_wq. */
> > + params->score = NULL;
> > + params->dev = dev;
> > +}
>
> Could we use only one function that takes struct v3d_dev *v3d, enum
> v3d_queue, and sched_ops as arguments (instead of one function per
> queue)? You can get the na...
2025 Jan 23
0
[PATCH] drm/sched: Use struct for drm_sched_init() params
...drm_sched_init(struct drm_gpu_scheduler *sched,
> > > - ?? const struct drm_sched_backend_ops *ops,
> > > - ?? struct workqueue_struct *submit_wq,
> > > - ?? u32 num_rqs, u32 credit_limit, unsigned int hang_limit,
> > > - ?? long timeout, struct workqueue_struct *timeout_wq,
> > > - ?? atomic_t *score, const char *name, struct device *dev);
> > > + const struct drm_sched_init_params *params);
> >
> >
> > Another nit: indenting is messed up here.
>
> That was done on purpose.
>
> I never got why so many like to in...
2025 Jan 23
0
[PATCH] drm/sched: Use struct for drm_sched_init() params
...drm_sched_init(struct drm_gpu_scheduler *sched,
> > > - ?? const struct drm_sched_backend_ops *ops,
> > > - ?? struct workqueue_struct *submit_wq,
> > > - ?? u32 num_rqs, u32 credit_limit, unsigned int hang_limit,
> > > - ?? long timeout, struct workqueue_struct *timeout_wq,
> > > - ?? atomic_t *score, const char *name, struct device *dev);
> > > + const struct drm_sched_init_params *params);
> >
> >
> > Another nit: indenting is messed up here.
>
> That was done on purpose.
Let's not change this convention, it's u...
2025 Jan 23
0
[PATCH] drm/sched: Use struct for drm_sched_init() params
...*sched,
> > > > > - ?? const struct drm_sched_backend_ops *ops,
> > > > > - ?? struct workqueue_struct *submit_wq,
> > > > > - ?? u32 num_rqs, u32 credit_limit, unsigned int hang_limit,
> > > > > - ?? long timeout, struct workqueue_struct *timeout_wq,
> > > > > - ?? atomic_t *score, const char *name, struct device *dev);
> > > > > + const struct drm_sched_init_params *params);
> > > >
> > > >
> > > > Another nit: indenting is messed up here.
> > >
> > > That...
2025 Jan 22
1
[PATCH] drm/sched: Use struct for drm_sched_init() params
...sizeof(struct drm_sched_init_params));
> +
> + params->submit_wq = NULL; /* Use the system_wq. */
> + params->num_rqs = DRM_SCHED_PRIORITY_COUNT;
> + params->credit_limit = 1;
> + params->hang_limit = 0;
> + params->timeout = msecs_to_jiffies(500);
> + params->timeout_wq = NULL; /* Use the system_wq. */
> + params->score = NULL;
> + params->dev = dev;
> +}
Could we use only one function that takes struct v3d_dev *v3d, enum
v3d_queue, and sched_ops as arguments (instead of one function per
queue)? You can get the name of the scheduler by concatenatin...