Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-22 Thread Andrey Grodzovsky
On 05/22/2018 12:33 PM, Michel Dänzer wrote: On 2018-05-22 06:30 PM, Andrey Grodzovsky wrote: On 05/22/2018 12:09 PM, Michel Dänzer wrote: On 2018-05-22 05:49 PM, Andrey Grodzovsky wrote: On 05/18/2018 04:46 AM, Michel Dänzer wrote: On 2018-05-17 09:05 PM, Andrey Grodzovsky wrote: On

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-22 Thread Michel Dänzer
On 2018-05-22 06:30 PM, Andrey Grodzovsky wrote: > On 05/22/2018 12:09 PM, Michel Dänzer wrote: >> On 2018-05-22 05:49 PM, Andrey Grodzovsky wrote: >>> On 05/18/2018 04:46 AM, Michel Dänzer wrote: On 2018-05-17 09:05 PM, Andrey Grodzovsky wrote: > On 05/17/2018 10:48 AM, Michel Dänzer

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-22 Thread Andrey Grodzovsky
On 05/22/2018 12:09 PM, Michel Dänzer wrote: On 2018-05-22 05:49 PM, Andrey Grodzovsky wrote: On 05/18/2018 04:46 AM, Michel Dänzer wrote: On 2018-05-17 09:05 PM, Andrey Grodzovsky wrote: On 05/17/2018 10:48 AM, Michel Dänzer wrote: On 2018-05-17 01:18 PM, Andrey Grodzovsky wrote: Hi

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-22 Thread Michel Dänzer
On 2018-05-22 05:49 PM, Andrey Grodzovsky wrote: > On 05/18/2018 04:46 AM, Michel Dänzer wrote: >> On 2018-05-17 09:05 PM, Andrey Grodzovsky wrote: >>> On 05/17/2018 10:48 AM, Michel Dänzer wrote: On 2018-05-17 01:18 PM, Andrey Grodzovsky wrote: > Hi Michele and others, I am trying to

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-22 Thread Andrey Grodzovsky
On 05/18/2018 04:46 AM, Michel Dänzer wrote: On 2018-05-17 09:05 PM, Andrey Grodzovsky wrote: On 05/17/2018 10:48 AM, Michel Dänzer wrote: On 2018-05-17 01:18 PM, Andrey Grodzovsky wrote: Hi Michele and others, I am trying to implement the approach bellow to resolve AMDGPU's hang when

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-22 Thread Christian König
Am 18.05.2018 um 17:02 schrieb Andrey Grodzovsky: On 05/18/2018 10:50 AM, Christian König wrote: Am 18.05.2018 um 16:44 schrieb Michel Dänzer: On 2018-05-18 11:42 AM, Christian König wrote: Anyway, the kernel can't rely on userspace using O_CLOEXEC. If the flush callback being called from

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-18 Thread Andrey Grodzovsky
On 05/18/2018 10:50 AM, Christian König wrote: Am 18.05.2018 um 16:44 schrieb Michel Dänzer: On 2018-05-18 11:42 AM, Christian König wrote: Anyway, the kernel can't rely on userspace using O_CLOEXEC. If the flush callback being called from multiple processes is an issue, maybe the flush

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-18 Thread Christian König
Am 18.05.2018 um 16:44 schrieb Michel Dänzer: On 2018-05-18 11:42 AM, Christian König wrote: Anyway, the kernel can't rely on userspace using O_CLOEXEC. If the flush callback being called from multiple processes is an issue, maybe the flush callback isn't appropriate after all. Userspace could

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-18 Thread Michel Dänzer
On 2018-05-18 11:42 AM, Christian König wrote: > >> Anyway, the kernel can't rely on userspace using O_CLOEXEC. If the flush >> callback being called from multiple processes is an issue, maybe the >> flush callback isn't appropriate after all. > > Userspace could also grab a reference just by

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-18 Thread Christian König
Anyway, the kernel can't rely on userspace using O_CLOEXEC. If the flush callback being called from multiple processes is an issue, maybe the flush callback isn't appropriate after all. Userspace could also grab a reference just by opening /proc/$pid/fd/*. The idea is just that when any

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-18 Thread Michel Dänzer
On 2018-05-17 09:05 PM, Andrey Grodzovsky wrote: > On 05/17/2018 10:48 AM, Michel Dänzer wrote: >> On 2018-05-17 01:18 PM, Andrey Grodzovsky wrote: >>> Hi Michele and others, I am trying to implement the approach bellow to >>> resolve AMDGPU's hang when commands are stuck in pipe during process

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-17 Thread Andrey Grodzovsky
On 05/17/2018 10:48 AM, Michel Dänzer wrote: On 2018-05-17 01:18 PM, Andrey Grodzovsky wrote: Hi Michele and others, I am trying to implement the approach bellow to resolve AMDGPU's hang when commands are stuck in pipe during process exit. I noticed that once I implemented the

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-17 Thread Michel Dänzer
On 2018-05-17 05:33 PM, Andrey Grodzovsky wrote: > > BTW, just out of interest, how the FDs are passed to clients ? Using > sockets ? Yes, via the socket used for the X11 display connection. > Can you point me to the code which does it ? xserver/dri3/dri3_request.c:dri3_send_open_reply() =>

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-17 Thread Andrey Grodzovsky
Thanks Michel, will give it a try. BTW, just out of interest, how the FDs are passed to clients ? Using sockets ? Can you point me to the code which does it ? Andrey On 05/17/2018 10:48 AM, Michel Dänzer wrote: On 2018-05-17 01:18 PM, Andrey Grodzovsky wrote: Hi Michele and others, I am

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-17 Thread Michel Dänzer
On 2018-05-17 01:18 PM, Andrey Grodzovsky wrote: > Hi Michele and others, I am trying to implement the approach bellow to > resolve AMDGPU's hang when commands are stuck in pipe during process exit. > > I noticed that once I implemented the file_operation.flush callback  > then during run of X, i

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-05-17 Thread Andrey Grodzovsky
Hi Michele and others, I am trying to implement the approach bellow to resolve AMDGPU's hang when commands are stuck in pipe during process exit. I noticed that once I implemented the file_operation.flush callback  then during run of X, i see the flush callback gets called not only for Xorg

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-26 Thread Eric W. Biederman
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

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-25 Thread Andrey Grodzovsky
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

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-25 Thread Eric W. Biederman
Andrey Grodzovsky writes: > On 04/25/2018 03:14 AM, Daniel Vetter wrote: >> On Tue, Apr 24, 2018 at 05:37:08PM -0400, Andrey Grodzovsky wrote: >>> >>> On 04/24/2018 05:21 PM, Eric W. Biederman wrote: Andrey Grodzovsky writes: >

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-25 Thread Oleg Nesterov
On 04/25, Daniel Vetter wrote: > > On Wed, Apr 25, 2018 at 3:22 PM, Oleg Nesterov wrote: > > On 04/24, Daniel Vetter wrote: > >> > >> wait_event_killabel doesn't check for fatal_signal_pending before calling > >> schedule, so definitely has a nice race there. > > > > This is

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-25 Thread Andrey Grodzovsky
On 04/24/2018 05:40 PM, Daniel Vetter wrote: On Tue, Apr 24, 2018 at 05:02:40PM -0400, Andrey Grodzovsky wrote: On 04/24/2018 03:44 PM, Daniel Vetter wrote: On Tue, Apr 24, 2018 at 05:46:52PM +0200, Michel Dänzer wrote: Adding the dri-devel list, since this is driver independent code. On

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-25 Thread Daniel Vetter
On Wed, Apr 25, 2018 at 3:22 PM, Oleg Nesterov wrote: > On 04/24, Daniel Vetter wrote: >> >> wait_event_killabel doesn't check for fatal_signal_pending before calling >> schedule, so definitely has a nice race there. > > This is fine. See the signal_pending_state() check in

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-25 Thread Oleg Nesterov
On 04/24, Daniel Vetter wrote: > > wait_event_killabel doesn't check for fatal_signal_pending before calling > schedule, so definitely has a nice race there. This is fine. See the signal_pending_state() check in __schedule(). And this doesn't differ from wait_event_interruptible(), it too

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-25 Thread Andrey Grodzovsky
On 04/25/2018 03:14 AM, Daniel Vetter wrote: On Tue, Apr 24, 2018 at 05:37:08PM -0400, Andrey Grodzovsky wrote: On 04/24/2018 05:21 PM, Eric W. Biederman wrote: Andrey Grodzovsky writes: On 04/24/2018 03:44 PM, Daniel Vetter wrote: On Tue, Apr 24, 2018 at

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-25 Thread Daniel Vetter
On Tue, Apr 24, 2018 at 05:37:08PM -0400, Andrey Grodzovsky wrote: > > > On 04/24/2018 05:21 PM, Eric W. Biederman wrote: > > Andrey Grodzovsky writes: > > > > > On 04/24/2018 03:44 PM, Daniel Vetter wrote: > > > > On Tue, Apr 24, 2018 at 05:46:52PM +0200, Michel

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-25 Thread Eric W. Biederman
Daniel Vetter writes: > On Tue, Apr 24, 2018 at 05:46:52PM +0200, Michel Dänzer wrote: >> >> Adding the dri-devel list, since this is driver independent code. >> >> >> On 2018-04-24 05:30 PM, Andrey Grodzovsky wrote: >> > Avoid calling wait_event_killable when you are

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-25 Thread Eric W. Biederman
Andrey Grodzovsky writes: > On 04/24/2018 05:21 PM, Eric W. Biederman wrote: >> Andrey Grodzovsky writes: >> >>> On 04/24/2018 03:44 PM, Daniel Vetter wrote: On Tue, Apr 24, 2018 at 05:46:52PM +0200, Michel Dänzer wrote: > Adding

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-25 Thread Eric W. Biederman
Andrey Grodzovsky writes: > On 04/24/2018 03:44 PM, Daniel Vetter wrote: >> On Tue, Apr 24, 2018 at 05:46:52PM +0200, Michel Dänzer wrote: >>> Adding the dri-devel list, since this is driver independent code. >>> >>> >>> On 2018-04-24 05:30 PM, Andrey Grodzovsky wrote:

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-24 Thread Daniel Vetter
On Tue, Apr 24, 2018 at 05:02:40PM -0400, Andrey Grodzovsky wrote: > > > On 04/24/2018 03:44 PM, Daniel Vetter wrote: > > On Tue, Apr 24, 2018 at 05:46:52PM +0200, Michel Dänzer wrote: > > > Adding the dri-devel list, since this is driver independent code. > > > > > > > > > On 2018-04-24 05:30

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-24 Thread Andrey Grodzovsky
On 04/24/2018 05:21 PM, Eric W. Biederman wrote: Andrey Grodzovsky writes: On 04/24/2018 03:44 PM, Daniel Vetter wrote: On Tue, Apr 24, 2018 at 05:46:52PM +0200, Michel Dänzer wrote: Adding the dri-devel list, since this is driver independent code. On

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-24 Thread Andrey Grodzovsky
On 04/24/2018 03:44 PM, Daniel Vetter wrote: On Tue, Apr 24, 2018 at 05:46:52PM +0200, Michel Dänzer wrote: Adding the dri-devel list, since this is driver independent code. On 2018-04-24 05:30 PM, Andrey Grodzovsky wrote: Avoid calling wait_event_killable when you are possibly being

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-24 Thread Daniel Vetter
On Tue, Apr 24, 2018 at 05:46:52PM +0200, Michel Dänzer wrote: > > Adding the dri-devel list, since this is driver independent code. > > > On 2018-04-24 05:30 PM, Andrey Grodzovsky wrote: > > Avoid calling wait_event_killable when you are possibly being called > > from get_signal routine since

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-24 Thread Andrey Grodzovsky
On 04/24/2018 11:46 AM, Michel Dänzer wrote: Adding the dri-devel list, since this is driver independent code. Thanks, so many addresses that this one slipped out... On 2018-04-24 05:30 PM, Andrey Grodzovsky wrote: Avoid calling wait_event_killable when you are possibly being called from

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-24 Thread Andrey Grodzovsky
On 04/24/2018 11:46 AM, Michel Dänzer wrote: Adding the dri-devel list, since this is driver independent code. Thanks, so many addresses that this one slipped out... On 2018-04-24 05:30 PM, Andrey Grodzovsky wrote: Avoid calling wait_event_killable when you are possibly being called from

Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

2018-04-24 Thread Michel Dänzer
Adding the dri-devel list, since this is driver independent code. On 2018-04-24 05:30 PM, Andrey Grodzovsky wrote: > Avoid calling wait_event_killable when you are possibly being called > from get_signal routine since in that case you end up in a deadlock > where you are alreay blocked in