[Pixman] testsuite fails on power7

Lennart Sorensen lsorense at csclub.uwaterloo.ca
Tue Oct 1 07:44:42 PDT 2013


On Tue, Oct 01, 2013 at 05:10:19PM +0300, Siarhei Siamashka wrote:
> On Mon, 30 Sep 2013 10:08:17 -0400
> "Lennart Sorensen" <lsorense at csclub.uwaterloo.ca> wrote:
> 
> > On Sat, Sep 28, 2013 at 10:16:12PM +0300, Siarhei Siamashka wrote:
> > > Could you please give the following patches a try in your problematic
> > > configuration on power7?
> > > 
> > >     http://lists.freedesktop.org/archives/pixman/2013-September/002969.html
> > > 
> > > They are also available here:
> > > 
> > >     https://github.com/ssvb/pixman/commits/20130927-vmx-fix-unaligned-writes
> > 
> > OK, I applied your two patches for the vmx code, and I also added the
> > new thread-test that was posted.
> > 
> > Everything passed.
> > 
> > I think you nailed it.  Yay!
> 
> Good. Thanks for testing.
> 
> > Before:
> > 
> > Making check in test
> > make[2]: Entering directory `/root/pixman-0.26.0/build/test'
> > make  check-TESTS
> > make[3]: Entering directory `/root/pixman-0.26.0/build/test'
> > PASS: a1-trap-test
> > PASS: pdf-op-test
> > PASS: region-test
> > PASS: region-translate-test
> > PASS: fetch-test
> > PASS: oob-test
> > PASS: trap-crasher
> > PASS: alpha-loop
> > PASS: scaling-crash-test
> > PASS: scaling-helpers-test
> > PASS: gradient-crash-test
> > region_contains test passed (checksum=D2BF8C73)
> > PASS: region-contains-test
> > PASS: alphamap
> > PASS: stress-test
> > composite traps test passed (checksum=E3112106)
> > PASS: composite-traps-test
> > blitters test passed (checksum=A364B5BF)
> > PASS: blitters-test
> > /bin/bash: line 5: 30817 Segmentation fault      ${dir}$tst
> > FAIL: scaling-test
> > /bin/bash: line 5: 30863 Segmentation fault      ${dir}$tst
> > FAIL: affine-test
> > PASS: composite
> > =============================================
> > 2 of 19 tests failed
> > Please report to pixman at lists.freedesktop.org
> > =============================================
> > make[3]: *** [check-TESTS] Error 1
> > make[3]: Leaving directory `/root/pixman-0.26.0/build/test'
> > make[2]: *** [check-am] Error 2
> > make[2]: Leaving directory `/root/pixman-0.26.0/build/test'
> > make[1]: *** [check-recursive] Error 1
> > make[1]: Leaving directory `/root/pixman-0.26.0/build'
> > dh_auto_test: make -j24 check returned exit code 2
> > make: *** [build] Error 29
> > 
> > After:
> > 
> > Making check in test
> > make[2]: Entering directory `/root/pixman-0.26.0.new/build/test'
> > make  check-TESTS
> > make[3]: Entering directory `/root/pixman-0.26.0.new/build/test'
> > PASS: a1-trap-test
> > PASS: pdf-op-test
> > PASS: region-test
> > PASS: region-translate-test
> > PASS: fetch-test
> > PASS: oob-test
> > PASS: trap-crasher
> > PASS: alpha-loop
> > Skipped thread-test - pthreads not supported
> > PASS: thread-test
> > PASS: scaling-crash-test
> > PASS: scaling-helpers-test
> > PASS: gradient-crash-test
> > region_contains test passed (checksum=D2BF8C73)
> > PASS: region-contains-test
> > PASS: alphamap
> > PASS: stress-test
> > composite traps test passed (checksum=E3112106)
> > PASS: composite-traps-test
> > blitters test passed (checksum=A364B5BF)
> > PASS: blitters-test
> > scaling test passed (checksum=80DF1CB2)
> > PASS: scaling-test
> > affine test passed (checksum=1EF2175A)
> > PASS: affine-test
> > PASS: composite
> > ===================
> > All 20 tests passed
> > ===================
> > make[3]: Leaving directory `/root/pixman-0.26.0.new/build/test'
> > make[2]: Leaving directory `/root/pixman-0.26.0.new/build/test'
> > make[2]: Entering directory `/root/pixman-0.26.0.new/build'
> > make[2]: Leaving directory `/root/pixman-0.26.0.new/build'
> > make[1]: Leaving directory `/root/pixman-0.26.0.new/build'
> 
> It is generally preferred to use an up to date version of pixman. It
> usually has better performance and is covered by more tests (which in
> theory should mean less bugs). Currently in pixman git we already
> have 27 tests for the tests suite, and you only have 20.
> 
> But the VMX/Altivec code has not seen updates for ages, so you can
> safely apply the vmx fixes to pixman-0.26 if you really have to
> use it.
> 
> Also the current status of performance optimizations in pixman for
> PowerPC platform is not really great. It seriously suffers from the
> generic C fast paths having higher priority than the vmx optimized
> combiners for some really important operations. A significant
> performance improvement for PowerPC is a relatively low hanging
> fruit if somebody is up for this task. Hopefully with the recent
>     http://www-03.ibm.com/press/us/en/pressrelease/41926.wss
> announcement, PowerPC may come back to life again :)

Well in my case I am simply rebuilding a subset of Debian stable for use
as a base for our next release of our routers software, and pixman is a
build dependancy of something, so I wanted it to build, and it failed.
When things fail I try to fix them or find the people that can fix it.
Debian hadn't noticed the problem since they don't have any power7
machines in their build pool.  Since I am using Debian stable, changing
the version of pixman is not really something I want to do, especially
when I had multiple workarounds (turn of vmx, or turn of openmp, and
now even better, apply a small patch).

So I won't have any use for pixman on powerpc personally, I just like
everything to work whether I need it or not.  Maybe someone else will
need it later.

-- 
Len Sorensen


More information about the Pixman mailing list