Quoting Lionel Landwerlin (2019-05-21 15:08:54) > @@ -2048,6 +2081,42 @@ static int eb_submit(struct i915_execbuffer *eb) > return err; > } if (eb->oa_config) { err = i915_active_request_set(&eb->i915->perf.oa.oa_config_active, eb->request); if (err) return err; } with the addition of struct i915_active_request oa_config_active; to i915->perf.oa, and i915_active_init; That will ensure that the oa_config can't be changed before execution (and the ordering restriction is essentially a no-op if only one context has a specified oa_config). > + if (eb->oa_config && > + eb->oa_config != eb->i915->perf.oa.exclusive_stream->oa_config) { Fwiw, I would move these to eb_oa_config(). if (eb->oa_config) { err = eb_oa_config(eb); if (err) return err; } How does eb_oa_config mix with the global gen8_configure_all_contexts()? -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx