search for: ttm_eu_backoff_reservation_reverse

Displaying 9 results from an estimated 9 matches for "ttm_eu_backoff_reservation_reverse".

2019 Sep 06
4
Xorg indefinitely hangs in kernelspace
...+ locked = true; + else + locked = false; if (!ret && entry->num_shared) ret = reservation_object_reserve_shared(bo->resv, @@ -163,6 +171,8 @@ int ttm_eu_reserve_buffers(struct ww_acq ww_acquire_done(ticket); ww_acquire_fini(ticket); } + if (locked) + ttm_eu_backoff_reservation_reverse(list, entry); return ret; } @@ -172,6 +182,8 @@ int ttm_eu_reserve_buffers(struct ww_acq list_del(&entry->head); list_add(&entry->head, list); } + if (locked) + ttm_eu_backoff_reservation_reverse(list, last_entry); if (del_lru) { spin_lock(&glob->lru_lo...
2019 Sep 06
4
Xorg indefinitely hangs in kernelspace
...+ locked = true; + else + locked = false; if (!ret && entry->num_shared) ret = reservation_object_reserve_shared(bo->resv, @@ -163,6 +171,8 @@ int ttm_eu_reserve_buffers(struct ww_acq ww_acquire_done(ticket); ww_acquire_fini(ticket); } + if (locked) + ttm_eu_backoff_reservation_reverse(list, entry); return ret; } @@ -172,6 +182,8 @@ int ttm_eu_reserve_buffers(struct ww_acq list_del(&entry->head); list_add(&entry->head, list); } + if (locked) + ttm_eu_backoff_reservation_reverse(list, last_entry); if (del_lru) { spin_lock(&glob->lru_lo...
2019 Sep 06
0
[Spice-devel] Xorg indefinitely hangs in kernelspace
...ret; ? > if (!ret && entry->num_shared) > ret = reservation_object_reserve_shared(bo->resv, > @@ -163,6 +171,8 @@ int ttm_eu_reserve_buffers(struct ww_acq > ww_acquire_done(ticket); > ww_acquire_fini(ticket); > } > + if (locked) > + ttm_eu_backoff_reservation_reverse(list, entry); > return ret; > } > > @@ -172,6 +182,8 @@ int ttm_eu_reserve_buffers(struct ww_acq > list_del(&entry->head); > list_add(&entry->head, list); > } > + if (locked) > + ttm_eu_backoff_reservation_reverse(list, last_entry); >...
2014 May 14
0
[RFC PATCH v1 02/16] drm/ttm: kill off some members to ttm_validate_buffer
...ndex 39a11bbd2bac..6db47a72667e 100644 --- a/drivers/gpu/drm/ttm/ttm_execbuf_util.c +++ b/drivers/gpu/drm/ttm/ttm_execbuf_util.c @@ -32,20 +32,12 @@ #include <linux/sched.h> #include <linux/module.h> -static void ttm_eu_backoff_reservation_locked(struct list_head *list) +static void ttm_eu_backoff_reservation_reverse(struct list_head *list, + struct ttm_validate_buffer *entry) { - struct ttm_validate_buffer *entry; - - list_for_each_entry(entry, list, head) { + list_for_each_entry_continue_reverse(entry, list, head) { struct ttm_buffer_object *bo = entry->bo; - if (!entry->reserved) - con...
2019 Sep 09
0
Xorg indefinitely hangs in kernelspace
...u 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 most likely break other ttm users. So I guess the call is missing in the qxl driver somewhere, most likely in some error handli...
2019 Sep 09
0
Xorg indefinitely hangs in kernelspace
..._acq ret = 0; } } + lockon = !ret; if (!ret && entry->num_shared) ret = reservation_object_reserve_shared(bo->resv, @@ -163,6 +166,8 @@ int ttm_eu_reserve_buffers(struct ww_acq ww_acquire_done(ticket); ww_acquire_fini(ticket); } + if (lockon) + ttm_eu_backoff_reservation_reverse(list, entry); return ret; } --
2014 May 14
17
[RFC PATCH v1 00/16] Convert all ttm drivers to use the new reservation interface
This series depends on the previously posted reservation api patches. 2 of them are not yet in for-next-fences branch of git://git.linaro.org/people/sumit.semwal/linux-3.x.git The missing patches are still in my vmwgfx_wip branch at git://people.freedesktop.org/~mlankhorst/linux All ttm drivers are converted to the fence api, fence_lock is removed and rcu is used in its place. qxl is the first
2014 Jul 31
19
[PATCH 01/19] fence: add debugging lines to fence_is_signaled for the callback
fence_is_signaled callback should support being run in atomic context, but not in irq context. Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com> --- include/linux/fence.h | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/include/linux/fence.h b/include/linux/fence.h index d174585b874b..c1a4519ba2f5 100644 ---
2014 Jul 09
22
[PATCH 00/17] Convert TTM to the new fence interface.
This series applies on top of the driver-core-next branch of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git Before converting ttm to the new fence interface I had to fix some drivers to require a reservation before poking with fence_obj. After flipping the switch RCU becomes available instead, and the extra reservations can be dropped again. :-) I've done at least basic