[Mesa-dev] [PATCH 1/2] clover: Catch errors from executing event action

Aaron Watry awatry at gmail.com
Tue Jul 17 21:15:25 UTC 2018


Question: How'd you run across this? CTS, an application?

I saw this and had hoped that it finally fixed a CTS hang I've been
experiencing when running:
  test_conformance/events/test_events test_userevents

But at least when SSH'd into my R600-based box, it still seems to
pause waiting for an event to trigger:

test_userevents...
Enqueuing tasks
Checking task status before setting user event status
Setting user event status to complete
Waiting for tasks to finish executing
Checking task status after setting user event status
Successful user event case passed.
Enqueuing tasks
Checking task status before setting user event status
Setting user event status to unsuccessful result
Waiting for tasks to finish executing
Checking task status after setting user event status
Unsuccessful user event case passed.
test_userevents passed
HUNG HERE

--Aaron

On Tue, Jul 17, 2018 at 9:38 AM, Jan Vesely <jan.vesely at rutgers.edu> wrote:
> Abort all dependent events.
> Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
> ---
>  src/gallium/state_trackers/clover/core/event.cpp | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/state_trackers/clover/core/event.cpp b/src/gallium/state_trackers/clover/core/event.cpp
> index cd5d786604..ed2b6ebdb8 100644
> --- a/src/gallium/state_trackers/clover/core/event.cpp
> +++ b/src/gallium/state_trackers/clover/core/event.cpp
> @@ -51,7 +51,12 @@ event::trigger_self() {
>  void
>  event::trigger() {
>     if (wait_count() == 1)
> -      action_ok(*this);
> +      try {
> +         action_ok(*this);
> +      } catch (error &e) {
> +         for (event &ev : abort_self(e.get()))
> +            ev.abort(e.get());
> +      }
>
>     for (event &ev : trigger_self())
>        ev.trigger();
> --
> 2.16.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list