[cairo] [Pixman] pixman: New ARM NEON optimizations

Jamey Sharp jamey at minilop.net
Tue Feb 16 14:39:26 PST 2010


On Tue, Feb 16, 2010 at 1:52 PM, Soeren Sandmann <sandmann at daimi.au.dk> wrote:
> Siarhei Siamashka <siarhei.siamashka at gmail.com> writes:
>> The biggest surprise here is the pathologically bad performance of 'memset'
>> function in 'image' backend tests, especially for 'evolution' benchmark. My
>> only guess is that glibc could have probably messed up with the caches somehow
>> (maybe by improperly using nontemporal memory writes or something).
>
> Could it be page faulting? I have seen profiles where a lot of time
> was spent in fill routines ending up in the kernel page fault
> handler. I have never tracked that down exactly, and I can't reproduce
> your results here on x86-32.

I assume those would be minor page-faults, probably because the kernel
needs to wipe a newly-allocated page before letting the process use
it, because otherwise information might be disclosed from another
process or the kernel.

I saw a good talk on this in 2001, titled "A Study in Malloc: A Case
of Excessive Minor Faults".

http://www.linuxshowcase.org/2001/ezolt.html

Of course libc and the Linux kernel have changed since then, but I
don't think the big picture has.

Jamey


More information about the cairo mailing list