[Pixman] [PATCH 0/4] More VMX enhancements

Oded Gabbay oded.gabbay at gmail.com
Thu Sep 17 08:04:13 PDT 2015


On Thu, Sep 10, 2015 at 1:47 PM, Pekka Paalanen <ppaalanen at gmail.com> wrote:
> On Thu, 10 Sep 2015 11:55:56 +0300
> Oded Gabbay <oded.gabbay at gmail.com> wrote:
>
>> On Mon, Sep 7, 2015 at 2:09 PM, Oded Gabbay <oded.gabbay at gmail.com> wrote:
>>
>> > On Mon, Sep 7, 2015 at 2:04 PM, Pekka Paalanen <ppaalanen at gmail.com>
>> > wrote:
>> > > On Sun,  6 Sep 2015 18:27:07 +0300
>> > > Oded Gabbay <oded.gabbay at gmail.com> wrote:
>> > >
>> > >> This patch-set contains optimizations for two existing VMX fast-paths
>> > and a new
>> > >> VMX fast-path function.
>> > >>
>> > >> The optimization ideas came from Siarhei's recent implementation of
>> > over_n_8888
>> > >> VMX fast path (see
>> > http://lists.freedesktop.org/archives/pixman/2015-September/003951.html).
>> > >>
>> > >> The new function I added is actually one that I already implemented a
>> > couple
>> > >> of months ago, but it produced conflicting results regarding the
>> > performance.
>> > >> However, I now optimized it and it now shows considerable performance
>> > >> improvement over the non-vmx path.
>> > >>
>> > >> The last patch removes many helper functions that caused the less than
>> > stellar
>> > >> performance the current fast-paths provide. I removed them as I don't
>> > want
>> > >> anyone to try and use them, because there are much better alternatives,
>> > as
>> > >> I've demonstrated with this patch-set.
>> > >>
>> > >> Thanks,
>> > >>
>> > >>       Oded
>> > >>
>> > >> Oded Gabbay (4):
>> > >>   vmx: optimize scaled_nearest_scanline_vmx_8888_8888_OVER
>> > >>   vmx: optimize vmx_composite_over_n_8888_8888_ca
>> > >>   vmx: implement fast path vmx_composite_over_n_8_8888
>> > >>   vmx: Remove unused expensive functions
>> > >>
>> > >>  pixman/pixman-vmx.c | 439
>> > ++++++++++++++++++----------------------------------
>> > >>  1 file changed, 150 insertions(+), 289 deletions(-)
>> > >>
>> > >
>> > > Hi Oded,
>> > >
>> > > nice diffstat. :-)
>> > >
>> > > This series is:
>> > > Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
>> > >
>> > > I did notice a few minor issues. Patch 1 has a dereference before
>> > > NULL-check, and you sometimes forget the space before an opening
>> > > parenthesis.
>> > >
>> > > I suppose there is no danger of regressing operations you didn't
>> > > touch? ;-)
>> > >
>> > >
>> > > Thanks,
>> > > pq
>> >
>> > HI Pekka,
>> > I run cario benchmark (trimmed) and there was *no* regression.
>> > I don't think optimizing some fast-paths affects other, non-related,
>> > fast-paths. And, of course, I don't think it has *any* impact on non
>> > POWER systems.
>> > However, if someone thinks of a specific other function I need to
>> > check for regression, I'm open for suggestions :)
>> >
>> >          Oded
>> >
>>
>> It bugged me that there was no change, neither up nor down in cairo
>> benchmark.
>> So I rechecked it and I had a wrong setup - cairo used the system-installed
>> pixman instead of my pixman.
>>
>> After fixing that, I saw several modest speedups for this patch series:
>>
>> Speedups
>> ========
>> image        t-firefox-scrolling  1232.30 (1237.81 0.40%) -> 1080.17
>> (1097.06 0.99%):  1.14x speedup
>> image        t-gnome-terminal-vim  613.86 (615.04 0.12%) -> 549.73 (551.32
>> 0.13%):  1.12x speedup
>> image        t-evolution  405.54 (412.06 0.81%) -> 370.57 (379.11 1.89%):
>>  1.09x speedup
>> image        t-gvim  653.02 (655.16 0.16%) -> 615.31 (618.40 1.68%):  1.06x
>> speedup
>> image        t-firefox-talos-gfx  919.31 (926.31 0.36%) -> 867.05 (870.01
>> 0.35%):  1.06x speedup
>>
>> I'll add it into the last commit of this patch-set for future references.
>
> Paranoia pays off!
>
>
> Cheers,
> pq

Siarhei,
Are you planning on reviewing my patch-set ?
pq gave his acked-by, and I don't think anyone else than you cares about POWER.
If not, I would like to push this patch-set to master.

Thanks,

        Oded


More information about the Pixman mailing list