Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Mar 2008 11:11:07 +0300
From:      Vladimir Grebenschikov <vova@parallels.com>
To:        Kevin Oberman <oberman@es.net>
Cc:        Joe Marcus Clarke <marcus@freebsd.org>, freebsd-gnome <freebsd-gnome@freebsd.org>
Subject:   Re: GNOME 2.22 has been released!
Message-ID:  <1206605467.20927.13.camel@localhost>
In-Reply-To: <1206602827.1534.11.camel@localhost>
References:  <20080326202355.8553D4500E@ptavv.es.net> <1206602827.1534.11.camel@localhost>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-sidTpIt2Sym9vLBFxynZ
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Thu, 2008-03-27 at 10:27 +0300, Vladimir Grebenschikov wrote:

Just get that problem:

Xorg shows 30+% in top :(=20

evolution redraws current line in list of messages in visible two stages
- left part, then right part.

Running applications:

gnome-panel,=20
evolution, firefox (minimized, static local homepage with only links
opened)
xterm (one, on non-active desktop, no changes)
sim-im
gkrellm=20

exiting xterm, sim-im, gkrellm does not change anything,
exiting evolution lowers CPU usage of Xorg till 15-17% but it is still
TOO high for completely idle system.

It shows about 10% even when I've go to console.

strace shows strange infinite loop,
looks like FD 18 false notify Xorg about something, of course it
is /tmp/.X11-unix/X0

# fstat | fgrep c52bb5e8\|c6aff000
=EF=BB=BFvova     evolution  20927    3* local stream c6aff5e8 <-> c6aff000
vova     at-spi-registryd  1264    9* local stream c52c3d20 <-> c52bb5e8
root     Xorg        1008   18* local stream c52bb5e8 <-> c52c3d20
root     Xorg        1008   32* local stream c6aff000 <-> c6aff5e8

No idea what as-spi-r. wants so often from X.
After kill -STOP at-spi-r. Xorg stops eating resources, but
window-manager refused to do its work.

$ fgrep read Xorg.trace
read(32, "B\0\5\0\261\17 \2\263\17 \2\n\0r\1\n\0\203\1", 7504) =3D 20
read(32, 0x87da000, 7504)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
read(18, "&\21\2\0_\0\0\0", 4096)       =3D 8
read(18, 0x86ad000, 4096)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
read(18, "&\21\2\0_\0\0\0", 4096)       =3D 8
read(18, 0x86ad000, 4096)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
read(18, "&\21\2\0_\0\0\0", 4096)       =3D 8
read(18, 0x86ad000, 4096)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
read(18, "&\21\2\0_\0\0\0", 4096)       =3D 8
read(18, 0x86ad000, 4096)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
read(18, "&\21\2\0_\0\0\0", 4096)       =3D 8
read(18, 0x86ad000, 4096)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
read(32, "B\0\5\0\261\17 \2\263\17 \2\n\0r\1\n\0\203\1", 7504) =3D 20
read(32, 0x87da000, 7504)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
read(18, "&\21\2\0_\0\0\0", 4096)       =3D 8
read(18, 0x86ad000, 4096)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
read(18, "&\21\2\0_\0\0\0", 4096)       =3D 8
read(18, 0x86ad000, 4096)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
read(18, "&\21\2\0_\0\0\0", 4096)       =3D 8
read(18, 0x86ad000, 4096)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
read(18, "&\21\2\0_\0\0\0", 4096)       =3D 8
read(18, 0x86ad000, 4096)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
read(18, "&\21\2\0_\0\0\0", 4096)       =3D 8
read(18, 0x86ad000, 4096)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
...

part of trace log:

select(256, [1 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 =
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 56 57 58 59 60 61]=
, NULL, NULL, {2, 0}) =3D -1 EINTR (Interrupted system call)
--- SIGALRM (Alarm clock: 14) ---
--- SIGALRM (Alarm clock: 14) ---
setitimer(ITIMER_REAL, {it_interval=3D{0, 0}, it_value=3D{0, 0}}, NULL) =3D=
 0
syscall_417(0xbfbfe3b0)                 =3D -1 (errno 4)
poll([{fd=3D0, events=3D0}], 1, 0)          =3D 0
clock_gettime(0xc, 0xbfbfe6a4)          =3D 0
clock_gettime(0xc, 0xbfbfe6a4)          =3D 0
select(256, [1 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 =
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 56 57 58 59 60 61]=
, NULL, NULL, {2, 0}) =3D 1 (in [18])
setitimer(ITIMER_REAL, {it_interval=3D{2, 0}, it_value=3D{0, 0}}, NULL) =3D=
 0
clock_gettime(0xc, 0xbfbfe6a4)          =3D 0
read(18, "&\21\2\0_\0\0\0", 4096)       =3D 8
read(18, 0x86ad000, 4096)               =3D -1 EAGAIN (Resource temporarily=
 unavailable)
writev(18, [{"", 0}], 1)                =3D 32
clock_gettime(0xc, 0xbfbfe6a4)          =3D 0
select(256, [1 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 =
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 56 57 58 59 60 61]=
, NULL, NULL, {2, 0}) =3D -1 EINTR (Interrupted system call)
--- SIGALRM (Alarm clock: 14) ---
--- SIGALRM (Alarm clock: 14) ---
setitimer(ITIMER_REAL, {it_interval=3D{0, 0}, it_value=3D{0, 0}}, NULL) =3D=
 0
syscall_417(0xbfbfe3b0)                 =3D -1 (errno 4)
poll([{fd=3D0, events=3D0}], 1, 0)          =3D 0
clock_gettime(0xc, 0xbfbfe6a4)          =3D 0
clock_gettime(0xc, 0xbfbfe6a4)          =3D 0
select(256, [1 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 =
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 56 57 58 59 60 61]=
, NULL, NULL, {2, 0}) =3D 1 (in [18])


> On Wed, 2008-03-26 at 13:23 -0700, Kevin Oberman wrote:
>=20
> > > > One more problem with recent Gnome - Xorg now all time eats CPU=20
> > > > 10-30% constantly.
> > > >=20
> > > > Exiting from all applications lowers that numbers, but even
> > several
> > > > percents of CPU for idle system is too much.
> > > >=20
> > > > Any ideas why it may happens and how to cure ?
> > >=20
> > > No idea.  This I have not noticed.  There was some recent work that
> > went=20
> > > into xorg-server to handle a jerky mouse problem.  Perhaps that is=20
> > > contributing to your CPU problem.
> >=20
> > The "jerky mouse" fix should reduce CPU time, not increase it, as I
> > think it eliminates the huge number of gettimeofday calls (expensive
> > in
> > FreeBSD) and replaces them with cheap call (which I forget) as the
> > mouse
> > was only using it to tell that time was passing and does not care what
> > time it is.
> >=20
> > On my system (with hald not running), I see well under 1% cpu use by
> > xorg.
> >=20
> > Note that some apps can really make xorg busy. Any flash running?
> > Firefox (even ignoring flash) seems to do things that cause xorg
> > utilization to go way up for certain operations.
>=20
> No flash, evolution, eclipse, firefox (exiting from here does not change
> situation greatly).
>=20
> But problem happens time to time. I'll try to find what software causing
> Xorg to eat CPU when it happens next time.
>=20
--=20
Vladimir B. Grebenschikov
Parallels Inc. vova@parallels.com

--=-sidTpIt2Sym9vLBFxynZ--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1206605467.20927.13.camel>