Re: [Pixman] [PATCH 0/4] New fast paths and Raspberry Pi 1 benchmarking

2015-08-20 Thread Ben Avison
On Thu, 20 Aug 2015 19:34:37 +0100, Bill Spitzak wrote: Could this be whether some "bad" instruction ends up next to or split by a cache line boundary? That would produce a random-looking plot, though it really is a plot of the location of the bad instructions in the measured function. If this

Re: [Pixman] [PATCH 0/4] New fast paths and Raspberry Pi 1 benchmarking

2015-08-20 Thread Bill Spitzak
On Thu, Aug 20, 2015 at 6:58 AM, Pekka Paalanen wrote: > A thing that explains a great deal of these anomalies, but not all of it, > has > something to do with function addresses. There are hypotheses that it might > have to do with the branch predictor and its cache. We made a test > targeting

[Pixman] [PATCH 2/4] pixman-fast-path: enable over_n_8888

2015-08-20 Thread Pekka Paalanen
From: Pekka Paalanen Enable the fast path added in the previous patch by moving the lookup table entries to their proper locations. Lowlevel-blt-bench benchmark statistics with 30 iterations, showing the effect of adding this one patch on top of "pixman-fast-path: Add over_n_ fast path (disa

[Pixman] [PATCH 3/4] armv6: Add over_n_8888 fast path (disabled)

2015-08-20 Thread Pekka Paalanen
From: Ben Avison This new fast path is initially disabled by putting the entries in the lookup table after the sentinel. The compiler cannot tell the new code is not used, so it cannot eliminate the code. Also the lookup table size will include the new fast path. When the follow-up patch then ena

[Pixman] [PATCH 4/4] armv6: enable over_n_8888

2015-08-20 Thread Pekka Paalanen
From: Pekka Paalanen Enable the fast path added in the previous patch by moving the lookup table entries to their proper locations. Lowlevel-blt-bench benchmark statistics with 30 iterations, showing the effect of adding this one patch on top of "pixman-fast-path: Add over_n_ fast path (disa

[Pixman] [PATCH 1/4] pixman-fast-path: Add over_n_8888 fast path (disabled)

2015-08-20 Thread Pekka Paalanen
From: Ben Avison This is a C fast path, useful for reference or for platforms that don't have their own fast path for this operation. This new fast path is initially disabled by putting the entries in the lookup table after the sentinel. The compiler cannot tell the new code is not used, so it c

[Pixman] [PATCH 0/4] New fast paths and Raspberry Pi 1 benchmarking

2015-08-20 Thread Pekka Paalanen
From: Pekka Paalanen Hi, I and Ben have been fighting with benchmarking on the Raspberry Pi 1 for a long time. The problem is unexpected performance differences. Insignificant changes to the code can cause significant changes to lowlevel-blt-bench performance results. The change can be a speed u

[Pixman] [PATCH] test: List more details of the operation when running scaling-test verbosely

2015-08-20 Thread Ben Avison
--- I've been doing a fair bit of work on scaled plots again recently, and I was finding that scaling-test omitted to mention lots of useful information (notably whether a mask was used, and what the mask parameers were). test/scaling-test.c | 63 +---