[lkml]   [2018]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.
Andrey Grodzovsky <> writes:

> On 04/25/2018 11:29 AM, Eric W. Biederman wrote:
>> Another issue is changing wait_event_killable to wait_event_timeout where I need
>> to understand
>> what TO value is acceptable for all the drivers using the scheduler, or maybe it
>> should come as a property
>> of drm_sched_entity.
>> It would not surprise me if you could pick a large value like 1 second
>> and issue a warning if that time outever triggers. It sounds like the
>> condition where we wait indefinitely today is because something went
>> wrong in the driver.
> We wait here for all GPU jobs in flight which belong to the dying entity to complete. The driver submits
> the GPU jobs but the content of the job might be is not under driver's control and could take
> long time to finish or even hang (e.g. graphic or compute shader) , I
> guess that why originally the wait is indefinite.

I am ignorant of what user space expect or what the semantics of the
susbsystem are here, so I might be completely off base. But this wait
for a long time behavior I would expect much more from f_op->flush or a
f_op->fsync method.

fsync so it could be obtained without closing the file descriptor.
flush so that you could get a return value out to close.

But I honestly don't know semantically what your userspace applications
expect and/or require so I can really only say. Those of weird semantics.


 \ /
  Last update: 2018-04-25 18:34    [W:0.073 / U:4.968 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site