search for: ww_acq

Displaying 6 results from an estimated 6 matches for "ww_acq".

2019 Sep 06
4
Xorg indefinitely hangs in kernelspace
...> [354073.762260] ? process_one_work+0x410/0x410 > [354073.762261] ? __kthread_parkme+0x70/0x70 > [354073.762262] ret_from_fork+0x35/0x40 > --- a/drivers/gpu/drm/ttm/ttm_execbuf_util.c +++ b/drivers/gpu/drm/ttm/ttm_execbuf_util.c @@ -97,8 +97,9 @@ int ttm_eu_reserve_buffers(struct ww_acq struct list_head *dups, bool del_lru) { struct ttm_bo_global *glob; - struct ttm_validate_buffer *entry; + struct ttm_validate_buffer *entry, *last_entry; int ret; + bool locked = false; if (list_empty(list)) return 0; @@ -112,7 +113,10 @@ int ttm_eu_reserve_buffers(struct ww_acq...
2019 Sep 06
4
Xorg indefinitely hangs in kernelspace
...> [354073.762260] ? process_one_work+0x410/0x410 > [354073.762261] ? __kthread_parkme+0x70/0x70 > [354073.762262] ret_from_fork+0x35/0x40 > --- a/drivers/gpu/drm/ttm/ttm_execbuf_util.c +++ b/drivers/gpu/drm/ttm/ttm_execbuf_util.c @@ -97,8 +97,9 @@ int ttm_eu_reserve_buffers(struct ww_acq struct list_head *dups, bool del_lru) { struct ttm_bo_global *glob; - struct ttm_validate_buffer *entry; + struct ttm_validate_buffer *entry, *last_entry; int ret; + bool locked = false; if (list_empty(list)) return 0; @@ -112,7 +113,10 @@ int ttm_eu_reserve_buffers(struct ww_acq...
2019 Sep 06
0
[Spice-devel] Xorg indefinitely hangs in kernelspace
...e_work+0x410/0x410 > > [354073.762261] ? __kthread_parkme+0x70/0x70 > > [354073.762262] ret_from_fork+0x35/0x40 > > > > --- a/drivers/gpu/drm/ttm/ttm_execbuf_util.c > +++ b/drivers/gpu/drm/ttm/ttm_execbuf_util.c > @@ -97,8 +97,9 @@ int ttm_eu_reserve_buffers(struct ww_acq > struct list_head *dups, bool del_lru) > { > struct ttm_bo_global *glob; > - struct ttm_validate_buffer *entry; > + struct ttm_validate_buffer *entry, *last_entry; > int ret; > + bool locked = false; > > if (list_empty(list)) > return 0; > @@ -11...
2019 Sep 09
0
Xorg indefinitely hangs in kernelspace
...will most likely break other ttm users. > You are right. They are responsible for doing backoff if error happens while validating buffers afterwards. --- a/drivers/gpu/drm/ttm/ttm_execbuf_util.c +++ b/drivers/gpu/drm/ttm/ttm_execbuf_util.c @@ -111,8 +111,10 @@ int ttm_eu_reserve_buffers(struct ww_acq list_for_each_entry(entry, list, head) { struct ttm_buffer_object *bo = entry->bo; + bool lockon; ret = __ttm_bo_reserve(bo, intr, (ticket == NULL), ticket); + lockon = !ret; if (!ret && unlikely(atomic_read(&bo->cpu_writers) > 0)) { reservation_object_unlo...
2019 Sep 30
2
[Spice-devel] Xorg indefinitely hangs in kernelspace
> > On 05.09.19 15:34, Jaak Ristioja wrote: > > On 05.09.19 10:14, Gerd Hoffmann wrote: > >> On Tue, Aug 06, 2019 at 09:00:10PM +0300, Jaak Ristioja wrote: > >>> Hello! > >>> > >>> I'm writing to report a crash in the QXL / DRM code in the Linux kernel. > >>> I originally filed the issue on LaunchPad and more details can be
2019 Sep 09
0
Xorg indefinitely hangs in kernelspace
Hi, --verbose please. Do you see the same hang? Does the patch fix it? > --- a/drivers/gpu/drm/ttm/ttm_execbuf_util.c > +++ b/drivers/gpu/drm/ttm/ttm_execbuf_util.c > @@ -97,8 +97,9 @@ int ttm_eu_reserve_buffers(struct ww_acq > struct list_head *dups, bool del_lru) [ ... ] > + if (locked) > + ttm_eu_backoff_reservation_reverse(list, entry); Hmm, I think the patch is wrong. As far I know it is the qxl drivers's job to call ttm_eu_backoff_reservation(). Doing that automatically in ttm will mos...