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

Oded Gabbay oded.gabbay at gmail.com
Fri Sep 18 00:09:29 PDT 2015


On Fri, Sep 18, 2015 at 6:08 AM, Siarhei Siamashka
<siarhei.siamashka at gmail.com> wrote:
> On Thu, 17 Sep 2015 18:04:13 +0300
> Oded Gabbay <oded.gabbay at gmail.com> wrote:
>
>> 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,
>
> Assuming that the dereference before NULL-check problem (spotted by
> Pekka) gets fixed before pushing these patches:
>
> Acked-by: Siarhei Siamashka <siarhei.siamashka at gmail.com>
>
>> and I don't think anyone else than you cares about POWER.
>
> I have powerpc hardware, but I can't say that I really care about it
> too much. Other than just occasionally running some tests on it.
>
>> If not, I would like to push this patch-set to master.
>
> Do you want to have these changes in the upcoming pixman 0.34.0 release
> or in the next one? What are your plans regarding the creation of the
> '0.34' branch?
>
> --
> Best regards,
> Siarhei Siamashka

Patches were pushed to master:
73e586e..8189fad  master -> master

        Oded


More information about the Pixman mailing list