On 04/25/2018 09:55 AM, Oleg Nesterov wrote:
On 04/24, Eric W. Biederman wrote:
Let me respectfully suggest that the wait_event_killable on that code
path is wrong.
I tend to agree even if I don't know this code.

But if it can be called from f_op->release() then any usage of "current" or
signals looks suspicious. Simply because "current" can be completely irrelevant
task which does the last fput(), say, cat /proc/pid/fdinfo/... or even a kernel
thread.

Oleg.

So what you say is that switching to current->PF_EXITING as indication of a reason why I am here (drm_sched_entity_fini) is also a bad idea, but we still want to be able to exit immediately and not wait for GPU jobs completion when the reason for reaching this code is because of KILL signal to the user process who opened the device file. With termination from fput   it seems impossible... But thinking more about it, any task still referencing this file and putting down the reference and is not exiting due to SIGKILL will just have to go through the  slow path - wait for jobs completion on GPU (with some TO).

Andrey



Reply via email to