[Intel-gfx] [PATCH 1/2] drm/i915: Introduce execlist_port_* accessors

Chris Wilson chris at chris-wilson.co.uk
Tue Oct 31 15:56:18 UTC 2017


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


More information about the Intel-gfx mailing list