Displaying 8 results from an estimated 8 matches for "ww_acquire_don".
Did you mean:
ww_acquire_done
2014 May 14
0
[RFC PATCH v1 02/16] drm/ttm: kill off some members to ttm_validate_buffer
...t = ww_mutex_lock_slow_interruptible(&bo->resv->lock,
+ ticket);
+ } else if (ret == -EDEADLK) {
+ ww_mutex_lock_slow(&bo->resv->lock, ticket);
+ ret = 0;
+ }
+
+ if (unlikely(ret != 0)) {
+ if (ret == -EINTR)
+ ret = -ERESTARTSYS;
+ if (ticket) {
+ ww_acquire_done(ticket);
+ ww_acquire_fini(ticket);
+ }
+ return ret;
+ }
+
+ /* move this item to the front of the list,
+ * forces correct iteration of the loop without keeping track
+ */
+ list_del(&entry->head);
+ list_add(&entry->head, list);
}
if (ticket)
@@ -186,20 +158,7...
2019 Sep 06
4
Xorg indefinitely hangs in kernelspace
...@@ int ttm_eu_reserve_buffers(struct ww_acq
ret = 0;
}
}
+ if (!ret)
+ 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_...
2019 Sep 06
4
Xorg indefinitely hangs in kernelspace
...@@ int ttm_eu_reserve_buffers(struct ww_acq
ret = 0;
}
}
+ if (!ret)
+ 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_...
2019 Sep 09
0
Xorg indefinitely hangs in kernelspace
...ct_unlock(bo->resv);
@@ -151,6 +153,7 @@ int ttm_eu_reserve_buffers(struct ww_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;
}
--
2019 Sep 06
0
[Spice-devel] Xorg indefinitely hangs in kernelspace
...}
> + if (!ret)
> + locked = true;
> + else
> + locked = false;
>
locked = !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(&am...
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