Quoting Chris Wilson (2017-10-31 15:41:52) > Quoting Mika Kuoppala (2017-10-31 15:27:33) > > +static inline struct execlist_port * > > +execlists_port_next(struct intel_engine_execlists * const execlists, > > + const struct execlist_port * const port) > > +{ > > + const unsigned int n = __port_add(port_index(port, execlists), > > + 1, > > + execlists->port_mask); > > How does this compare to > > if (port++ == execlists->port + execlists->port_mask) > port = execlists->port; > > return port; > ? Rough estimate from bloat-o-meter patch: intel_lrc_irq_handler 1734 1926 +192 i915_guc_irq_handler 1522 1620 +98 execlists_cancel_port_requests 81 129 +48 intel_engine_dump 2030 2077 +47 intel_engine_init_cmd_parser 1132 1136 +4 capture 5633 5620 -13 delta: i915_guc_irq_handler 1620 1617 -3 intel_lrc_irq_handler 1926 1790 -136 overall: i915_guc_irq_handler 1522 1617 +95 intel_lrc_irq_handler 1734 1790 +56 execlists_cancel_port_requests 81 129 +48 intel_engine_dump 2030 2077 +47 intel_engine_init_cmd_parser 1132 1136 +4 capture 5633 5620 -13 But still +56 in irq_handler, that's mostly dequeue I guess. Can we do better? -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx