[PATCH] Reduce overheads while servicing XRender requests

Jonathan Morton jonathan.morton at movial.com
Mon Jun 8 07:01:17 PDT 2009


Hi,

Attached are two small patches which eliminate some tight malloc/free
cycles while servicing common XRender requests.  This goes in
conjunction with overhead-reduction and fastpath patches already
submitted to Pixman.

Since even good malloc implementations have significant overhead, this
improves throughput for small requests in particular.  We've seen about
20% on ARMv7-A hardware, over and above the improvement from running an
optimised Pixman library.

Note that the simple object-pools implemented here are not thread-safe.
As I understand it, thread-safety is not a requirement for X.org.
Please do correct me if necessary.

A further, rather heavier patch is necessary to eliminate all
malloc/free cycles from RenderGlyphs calls, which results in
considerable further improvements in glyph-request throughput.  I'll
post that when I'm happier with it, since it involves major surgery to
miGlyphs().

-- 
------
From: Jonathan Morton
      jonathan.morton at movial.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Introduce-region-object-pool-to-avoid-malloc-free-ov.patch
Type: text/x-patch
Size: 0 bytes
Desc: not available
Url : http://lists.x.org/archives/xorg-devel/attachments/20090608/859908c9/attachment.bin 


More information about the xorg-devel mailing list