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

Siarhei Siamashka siarhei.siamashka at gmail.com
Thu Sep 17 20:08:22 PDT 2015


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


More information about the Pixman mailing list