On Thu, 26 Jan 2012 09:37:28 -0500
Adam Jackson <a...@redhat.com> wrote:

Hi Adam

> > Any suggestions on making the call faster? Would it be possible to use
> > it with a timeout, say, if it takes over 1ms, abort?
> 
> Xlib doesn't work that way.  You could do that with XCB and a main loop
> though.

XCB is unfortunately not possible.
 
> I'd suspect one of two scenarios.  Either the X server has some periodic
> work it's doing, or the kernel's not waking up X promptly enough.  Both
> should be fairly easy to work through.  In the former case, it's most
> likely to be something on the WakeupHandler or BlockHandler call chains
> in the X server, which run on either side of the call to select() in the
> main loop.
> 
> Probably the easiest way to see what's going on is to have your app
> print timestamps when it calls QueryPointer, and 'strace -t -e file' on
> the X server (from an ssh session into the machine under test).  Then
> compare.  If there's a long lag between your call to QueryPointer to the
> X server waking up from select and handling it, then the kernel's not
> getting the message across in time.  If there's a lag between the server
> waking up and writing back the response, then the server's doing excess
> work.

For this particular call, my app called XQueryPointer at 1327592221.398620 and 
reported the call took 12177 usec. The relevant portion of the strace is 
attached.

I'm not fully confident in my ability to grok strace, but to me it looks like 
the latter case (excess work?). There is a select call soon after the call, and 
there's a write about 12ms later.

> If it's a server issue we'd need to know what driver and hardware you're
> using.

Linux 3.0.9
X Server 1.9.5
mouse 1.7.0 / usb mouse
kbd 1.6.0 / usb kbd
-ati 6.14.3 / HD4350

Let me know if that's not the correct info.

-- 
- Lauri

Attachment: xserver.ptrace.txt
Description: Binary data

_______________________________________________
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com

Reply via email to