Re: blocking ops in drm_sched_cleanup_jobs()

2019-09-25 Thread Steven Price
On 25/09/2019 15:12, Koenig, Christian wrote: > Am 25.09.19 um 16:06 schrieb Steven Price: >> On 24/09/2019 10:55, Koenig, Christian wrote: >>> Sorry for the delayed response, have been busy on other stuff last week. >>> >>> Am 17.09.19 um 14:46 schrieb Steven Price: On 17/09/2019 09:42,

Re: blocking ops in drm_sched_cleanup_jobs()

2019-09-25 Thread Koenig, Christian
Am 25.09.19 um 16:06 schrieb Steven Price: > On 24/09/2019 10:55, Koenig, Christian wrote: >> Sorry for the delayed response, have been busy on other stuff last week. >> >> Am 17.09.19 um 14:46 schrieb Steven Price: >>> On 17/09/2019 09:42, Koenig, Christian wrote: Hi Steven,

Re: blocking ops in drm_sched_cleanup_jobs()

2019-09-25 Thread Steven Price
On 24/09/2019 10:55, Koenig, Christian wrote: > Sorry for the delayed response, have been busy on other stuff last week. > > Am 17.09.19 um 14:46 schrieb Steven Price: >> On 17/09/2019 09:42, Koenig, Christian wrote: >>> Hi Steven, >>> >>> thought about that issue a bit more and I think I came up

Re: blocking ops in drm_sched_cleanup_jobs()

2019-09-24 Thread Koenig, Christian
Sorry for the delayed response, have been busy on other stuff last week. Am 17.09.19 um 14:46 schrieb Steven Price: > On 17/09/2019 09:42, Koenig, Christian wrote: >> Hi Steven, >> >> thought about that issue a bit more and I think I came up with a >> solution. >> >> What you could do is to

Re: blocking ops in drm_sched_cleanup_jobs()

2019-09-17 Thread Steven Price
On 17/09/2019 09:42, Koenig, Christian wrote: Hi Steven, thought about that issue a bit more and I think I came up with a solution. What you could do is to split up drm_sched_cleanup_jobs() into two functions. One that checks if jobs to be cleaned up are present and one which does the actual

Re: blocking ops in drm_sched_cleanup_jobs()

2019-09-17 Thread Koenig, Christian
Hi Steven, thought about that issue a bit more and I think I came up with a solution. What you could do is to split up drm_sched_cleanup_jobs() into two functions. One that checks if jobs to be cleaned up are present and one which does the actual cleanup. This way we could call

Re: blocking ops in drm_sched_cleanup_jobs()

2019-09-16 Thread Koenig, Christian
Am 16.09.19 um 16:24 schrieb Daniel Vetter: > On Mon, Sep 16, 2019 at 10:11 AM Koenig, Christian > wrote: >> Hi Steven, >> >> the problem seems to be than panfrost is trying to sleep while freeing a >> job. E.g. it tries to take a mutex. >> >> That is not allowed any more since we need to free

Re: blocking ops in drm_sched_cleanup_jobs()

2019-09-16 Thread Daniel Vetter
On Mon, Sep 16, 2019 at 10:11 AM Koenig, Christian wrote: > > Hi Steven, > > the problem seems to be than panfrost is trying to sleep while freeing a > job. E.g. it tries to take a mutex. > > That is not allowed any more since we need to free the jobs from atomic > and even interrupt context. > >

Re: blocking ops in drm_sched_cleanup_jobs()

2019-09-16 Thread Koenig, Christian
Hi Steven, the problem seems to be than panfrost is trying to sleep while freeing a job. E.g. it tries to take a mutex. That is not allowed any more since we need to free the jobs from atomic and even interrupt context. Your suggestion wouldn't work because this way jobs are not freed when