Quoting Mika Kuoppala (2017-09-12 11:29:48) > Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > > > Quoting Mika Kuoppala (2017-09-12 09:36:18) > >> +static inline unsigned int > >> +execlist_active_ports(const struct intel_engine_execlist * const el) > >> { > >> - const unsigned int i = port_index(port, el); > >> + return READ_ONCE(el->port_count); > > > > READ_ONCE? Could we separate the racy check from the serialized uses > > inside the tasklet where we do want the compiler to go to town? > > Hmm so substitute execlist_active_ports() in i915_irq.c with > READ_ONCE(el->port_count) and remove it in this function? The elsp_ready outside of the tasklet also need to take special care (or at least document that they are outside of the serialized section). -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx