Xorg vs gettimeofday() and clock_gettime()

Xin LI delphij at delphij.net
Tue Feb 26 18:30:39 UTC 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John E Hein wrote:
> Peter Jeremy wrote at 21:07 +1100 on Feb 26, 2008:
>  > My guess is pointer acceleration and/or 3-button emulation.  Out of
>  > interest, I just ktrace'd my X server for 5 seconds (doing nothing in
>  > particular) and got 318 syscalls, including 106 gettimeofday() calls.
>  > By waving the mouse around inside a window, I get 4015 syscalls,
>  > including 844 gettimeofday() and 1136 sigprocmask() calls in 5
>  > secinds.  In some cases, there are consecutive gettimeofday() calls
>  > with no other syscalls intervening.  These numbers do seem somewhat
>  > excessive.
> 
> Interesting.  
> 
> I tried a ktrace session for about 10 seconds _without_ moving the
> mouse and got 71332 gettimeofday calls out of 142707 total calls and
> signals (all SIGALRM - 2051).
> 
> After about 7 minutes with mouse movement (and typing this message), I
> saw 193356 gettimeofdays vs 502875 total.
> 
> I (obviously) haven't looked at the code.  But perhaps this is an area
> that could possibly be improved by more judicious use of select or
> kqueue and more independence of interval timing.

I think it was some delay call, gettimeofday()s is mostly happen when
there is some animations, in the single Xorg process.

I will try to make a patch this weekend.  Last weekend I tried to modify
only xproto and rebuild dbus and xorg-server, but it seems that it does
not like it - with mixed gettimeofday() and clock_gettime(), the display
will blank from time to time.

Cheers,
- --
Xin LI <delphij at delphij.net>	http://www.delphij.net/
FreeBSD - The Power to Serve!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)

iD8DBQFHxFq/i+vbBBjt66ARAl+3AKCCTYJzeXSjDetaGE+YhMqxw25DOACeKCo4
1zw0JO5vqSm3ILdEvFbKf+o=
=CLVy
-----END PGP SIGNATURE-----


More information about the freebsd-x11 mailing list