On Thu, Feb 02, 2017 at 12:49:58PM +0000, Tvrtko Ursulin wrote: > > On 02/02/2017 09:08, Chris Wilson wrote: > >+static bool wait_for_ready(struct igt_wakeup *w) > >+{ > >+ DEFINE_WAIT(ready); > >+ > >+ if (atomic_dec_and_test(w->done)) > >+ wake_up_atomic_t(w->done); > >+ > >+ if (test_bit(STOP, &w->flags)) > >+ goto out; > >+ > >+ set_bit(IDLE, &w->flags); > > I think this needs to be before atomic_dec_and_test(w->done), to > avoid that same assert racing with the threads. Because immediately > after the wake_up_atomic above the main loop starts asserting the > IDLE bit which is not guaranteed to be set yet. Before wake_up_atomic_t which is the same thing, yup. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx