[mythtv-users] Graphite theme consuming 100% CPU while idle

Mitko Haralanov voidtrance at comcast.net
Mon Nov 16 20:50:30 UTC 2009


Hi all,

Yesterday, I decided to try the Graphite theme with the new 0.22-fixes
RPMs from RPM Fusion (I am running myth 0.22-fixes with MythDora 10.21).

I switched the theme and then I noticed that it mythfrontend started
taking up 100% of the CPU while sitting idle at the main menu. This only
happens with the Graphite theme. None of the others that I've tried
(Terra, BlueAbstract) do that. They usually take up to 60% while
switching menues or screens but stay at close to 0-1% when idle.

I have a dual core Athlon64 2GHz processor. I am using the OpenGL
painter rather then the QT one.

I did an strace on mythfrontend while the Graphite theme was running
and for the most part, it was doing sched_yield() calls along with
gettimeofday() calls (strace log snippet below).

The interesting thing is that while strace was running, it (strace) was
consuming most of the CPU (presumably while trying to write to the
output file) and mythfrontend was only consuming about 15%. As soon as
I stopped strace, mythfrontend went up to 100% again.

10868 12:45:08.373721 clock_gettime(CLOCK_MONOTONIC, {13791, 135513056}) = 0
10868 12:45:08.373795 read(7, 0xfbe894, 4096) = -1 EAGAIN (Resource temporarily unavailable)
10868 12:45:08.373861 read(16, 0x10074a4, 4096) = -1 EAGAIN (Resource temporarily unavailable)
10868 12:45:08.373917 poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, 
{fd=14, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN}, {fd
=7, events=POLLIN}, {fd=20, events=POLLIN}], 9, 0) = 0 (Timeout)
10868 12:45:08.374004 read(7, 0xfbe894, 4096) = -1 EAGAIN (Resource temporarily unavailable)
10868 12:45:08.374059 clock_gettime(CLOCK_MONOTONIC, {13791, 135846614}) = 0
10868 12:45:08.374160 gettimeofday({1258404308, 374180}, NULL) = 0
10868 12:45:08.374219 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0
10868 12:45:08.374328 clock_gettime(CLOCK_MONOTONIC, {13791, 136116198}) = 0
10868 12:45:08.374384 read(7, 0xfbe894, 4096) = -1 EAGAIN (Resource temporarily unavailable)
10868 12:45:08.374439 read(16, 0x10074a4, 4096) = -1 EAGAIN (Resource temporarily unavailable)
10868 12:45:08.374508 poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, 
{fd=14, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN}, {fd
=7, events=POLLIN}, {fd=20, events=POLLIN}], 9, 0) = 0 (Timeout)
10868 12:45:08.374582 clock_gettime(CLOCK_MONOTONIC, {13791, 136369579}) = 0
10868 12:45:08.374637 read(7, 0xfbe894, 4096) = -1 EAGAIN (Resource temporarily unavailable)
10868 12:45:08.374711 getpid()          = 10868
10868 12:45:08.375007 getpid()          = 10868
10868 12:45:08.375101 getpid()          = 10868
10868 12:45:08.375155 sched_yield()     = 0
10868 12:45:08.375202 sched_yield()     = 0
10868 12:45:08.375246 sched_yield()     = 0
10868 12:45:08.375290 sched_yield()     = 0
10868 12:45:08.375334 sched_yield()     = 0
10868 12:45:08.375379 sched_yield()     = 0
10868 12:45:08.375423 sched_yield()     = 0
10868 12:45:08.375468 sched_yield()     = 0
10868 12:45:08.375532 sched_yield()     = 0
10868 12:45:08.375577 sched_yield()     = 0
10868 12:45:08.375621 sched_yield()     = 0
10868 12:45:08.375666 sched_yield()     = 0
10868 12:45:08.375770 sched_yield()     = 0
10868 12:45:08.375815 sched_yield()     = 0
10868 12:45:08.375860 sched_yield()     = 0
10868 12:45:08.375904 sched_yield()     = 0

Has anybody else seen this? 

-- 


More information about the mythtv-users mailing list