[Openchrome-users] XAA and fallback

Lluís Batlle i Rossell viric
Sat Mar 24 12:13:42 PDT 2012


Hello all,

here I add the backtrace for EXA. Same amount of memcpy in X, but additionally it has
flickering black paintings when playing th evideo.

It looks like it ends at the very smae fbPutImage functions as XAA used.

#0  0xb729f0a6 in __memcpy_ia32 ()
   from /nix/store/yb7w3wpd3d5cn0qs6y7l4lx7zcxg0z8m-glibc-2.13/lib/libc.so.6
#1  0x0000012b in ?? ()
#2  0xb6ee4db1 in fbBlt (srcLine=0xaa38ac00, srcStride=2560, srcX=0, dstLine=0xb2f63000, 
    dstStride=4096, dstX=608, width=2560, height=348, alu=3, pm=4294967295, bpp=32, reverse=0, 
    upsidedown=0) at fbblt.c:93
#3  0xb6ee5ceb in fbBltStip (src=0xaa38ac00, srcStride=640, srcX=0, dst=0xb2f63000, 
    dstStride=1024, dstX=608, width=20480, height=348, alu=3, pm=4294967295, bpp=32)
    at fbblt.c:944
#4  0xb6eeae68 in fbPutZImage (pDrawable=0x899ffe0, pClip=0x89a0010, alu=3, pm=4294967295, 
    x=19, y=273, width=640, height=348, src=0xaa38ac00, srcStride=640) at fbimage.c:156
#5  0xb6eeb6b6 in fbPutImage (pDrawable=0x899ffe0, pGC=0x8a731d8, depth=24, x=19, y=273, 
    w=640, h=348, leftPad=0, format=2, pImage=0xaa38ac00 "") at fbimage.c:105
#6  0xb6ece11b in ExaCheckPutImage (pDrawable=0x899ffe0, pGC=0x8a731d8, depth=24, x=0, y=6, 
    w=640, h=348, leftPad=0, format=2, bits=0xaa38ac00 "") at exa_unaccel.c:114
#7  0xb6ec53b8 in exaPutImage (pDrawable=0x899ffe0, pGC=0x8a731d8, depth=24, x=0, y=6, w=640, 
    h=348, leftPad=0, format=2, bits=0xaa38ac00 "") at exa_accel.c:242
#8  0x08125fea in damagePutImage (pDrawable=0x899ffe0, pGC=0x8a731d8, depth=24, x=0, y=6, 
    w=640, h=348, leftPad=0, format=2, pImage=0xaa38ac00 "") at damage.c:901
#9  0x080fee48 in ProcShmPutImage (client=0x8830c90) at shm.c:942
#10 0x081000af in ProcShmDispatch (client=0x8830c90) at shm.c:1204
#11 0x08071e07 in Dispatch () at dispatch.c:432
#12 0x08064f3c in main (argc=15, argv=0xbf8896f4, envp=0xbf889734) at main.c:291


n Sat, Mar 24, 2012 at 05:30:55PM +0100, Llu?s Batlle i Rossell wrote:
> Hello,
> 
> I'm trying a simple test... go to youtube with firefox and play a video.
> It uses to take quite enough of X cpu, firefox cpu and adobe flashplayer cpu.
> 
> Looking at the 'X' part, all the cpu is used in memcpy.
> 
> It looks like all painting goes through XAAPutImageFallback, which I imagine
> is not the fastest path.
> 
> It's xorgserver 1.9.5, with the openchrome 0.2.905.
> 
> This is the kind of backtrace I get:
> 
> (gdb) bt
> #0  0xb732a0a6 in __memcpy_ia32 ()
>    from /nix/store/yb7w3wpd3d5cn0qs6y7l4lx7zcxg0z8m-glibc-2.13/lib/libc.so.6
> #1  0x00000078 in ?? ()
> #2  0xb6df1db1 in fbBlt (srcLine=0xaa0b1c00, srcStride=2560, srcX=0, dstLine=0xb2e89000, 
>     dstStride=4096, dstX=608, width=2560, height=348, alu=3, pm=4294967295, bpp=32, reverse=0, 
>     upsidedown=0) at fbblt.c:93
> #3  0xb6df2ceb in fbBltStip (src=0xaa0b1c00, srcStride=640, srcX=0, dst=0xb2e89000, 
>     dstStride=1024, dstX=608, width=20480, height=348, alu=3, pm=4294967295, bpp=32)
>     at fbblt.c:944
> #4  0xb6df7e68 in fbPutZImage (pDrawable=0x8e79d50, pClip=0x8e79d80, alu=3, pm=4294967295, 
>     x=19, y=273, width=640, height=348, src=0xaa0b1c00, srcStride=640) at fbimage.c:156
> #5  0xb6df86b6 in fbPutImage (pDrawable=0x8e79d50, pGC=0x8e60530, depth=24, x=19, y=273, 
>     w=640, h=348, leftPad=0, format=2, pImage=0xaa0b1c00 "") at fbimage.c:105
> #6  0xb6d86bb2 in XAAPutImageFallback (pDraw=0x8e79d50, pGC=0x8e60530, depth=24, x=0, y=6, 
>     w=640, h=348, leftPad=0, format=2, pImage=0xaa0b1c00 "") at xaaFallback.c:64
> #7  0xb6d991b0 in XAAPutImage (pDraw=0x8e79d50, pGC=0x8e60530, depth=24, x=0, y=6, w=640, 
>     h=348, leftPad=0, format=2, pImage=0xaa0b1c00 "") at xaaImage.c:519
> #8  0xb6dd0a95 in cwPutImage (pDst=0x8e79d50, pGC=0x8e60530, depth=24, 
>     x=<value optimized out>, y=<value optimized out>, w=640, h=348, leftPad=0, format=2, 
>     pBits=0xaa0b1c00 "") at cw_ops.c:177
> #9  0x08125fea in damagePutImage (pDrawable=0x8e79d50, pGC=0x8e60530, depth=24, x=0, y=6, 
>     w=640, h=348, leftPad=0, format=2, pImage=0xaa0b1c00 "") at damage.c:901
> #10 0x080fee48 in ProcShmPutImage (client=0x8e1a2d8) at shm.c:942
> #11 0x081000af in ProcShmDispatch (client=0x8e1a2d8) at shm.c:1204
> #12 0x08071e07 in Dispatch () at dispatch.c:432
> #13 0x08064f3c in main (argc=15, argv=0xbff81434, envp=0xbff81474) at main.c:291
> 
> Any idea on reducing the cpu usage for video playing? Maybe it's just this xorg version?
> 
> I wonder how mplayer can play the same video at 4% of cpu usage, while the
> flash player looks to take 40% cpu (only decoding, no?), firefox 30%, and the rest X.
> 
> Attached, dmesg and xorg logs.
> 
> Regards,
> Llu?s.




More information about the Openchrome-users mailing list