Gnome & EXA - Any progress ?
Alan Coopersmith
Alan.Coopersmith at Sun.COM
Thu Dec 22 12:26:55 PST 2005
Adam Jackson wrote:
> So what you really want here is a statistical view of what the backtrace looks
> like when fbCopyAreammx gets called. That will tell you why you're hitting
> the fallback path, and therefore what needs to get implemented to get it
> called less.
>
> The radeon driver's EXA support does include UTS and DFS hooks for all radeon
> chips, so it's likely that this is a bug such that they're not getting
> called.
I have RC2 on my laptop at the moment with Radeon Mobility 9700 and EXA turned
on. It's not built with MMX support, so I traced on fbCopyNtoN instead,
since that's what calls fbCopyAreammx if built with MMX. I had a GNOME 2.6
session up, started up a gnome-terminal and firefox, moved windows around,
switched some workspaces and the stack trace distribution I got for calls to
fbCopyNtoN vs. RADEONUploadToScreenMMIO was:
radeon_drv.so`RADEONUploadToScreenMMIO
libexa.so`exaMoveInPixmap+0x9d
libexa.so`exaDrawableUseScreen+0x5b
libexa.so`exaCopyNtoN+0x1e9
libfb.so`fbCopyRegion+0x509
libfb.so`fbDoCopy+0x3d1
libexa.so`exaCopyArea+0x4f
Xorg`damageCopyArea+0x257
Xorg`ProcCopyArea+0x1fe
Xorg`Dispatch+0x4c7
Xorg`main+0x50c
Xorg`0x46938c
412
libfb.so`fbCopyNtoN
libexa.so`exaCopyNtoN+0x5be
libfb.so`fbCopyRegion+0x509
libfb.so`fbDoCopy+0x3d1
libexa.so`exaCopyArea+0x4f
Xorg`damageCopyArea+0x257
Xorg`fbShmPutImage+0x25b
Xorg`ProcShmPutImage+0x46e
Xorg`ProcShmDispatch+0x22a
Xorg`Dispatch+0x4c7
Xorg`main+0x50c
Xorg`0x46938c
641
libfb.so`fbCopyNtoN
libexa.so`exaCopyNtoN+0x5be
libfb.so`fbCopyRegion+0x509
libfb.so`fbDoCopy+0x3d1
libexa.so`exaCopyArea+0x4f
Xorg`damageCopyArea+0x257
Xorg`ProcCopyArea+0x1fe
Xorg`Dispatch+0x4c7
Xorg`main+0x50c
Xorg`0x46938c
6263
(For those playing at home, the dtrace script to get this was:
#!/usr/sbin/dtrace -s
#pragma D option quiet
pid$1:radeon_drv:RADEONUploadToScreenMMIO:entry {
@[ustack()] = count();
}
pid$1:libfb:fbCopyNtoN:entry {
@[ustack()] = count();
}
pid$1:libfb:fbCopyArea:entry {
@[ustack()] = count();
}
I included fbCopyArea, but as you can see it got no calls.)
--
-Alan Coopersmith- alan.coopersmith at sun.com
Sun Microsystems, Inc. - X Window System Engineering
More information about the xorg
mailing list