Marko Mäkelä kirjoitti:
On Tue, Jan 16, 2007 at 09:53:21PM +0200, Kartsa wrote:
Have you tried OProfile or strace -p <pid of vdr>, or attaching gdb to
the running vdr process?
Hmm, what's OProfile? I am not quite sure if I am starting matroxfb in the right place.

OProfile is a continuous profiler for processors that contain
performance counters, such as CPU_CLK_UNHALTED (which is incremented on
every clock cycle when the processor is unhalted).  Similar tools
include DCPI on Digital UNIX and Intel VTune on Windows.
Tried with strace and got

gettimeofday({1169044896, 580954}, NULL) = 0
clock_gettime(CLOCK_REALTIME, {1169044896, 581713131}) = 0
futex(0x81dc204, FUTEX_WAIT, 6667, {0, 999240869}) = -1 ETIMEDOUT (Connection timed out)
gettimeofday({1169044897, 905042}, NULL) = 0
futex(0x81dc1d8, FUTEX_WAKE, 1)         = 0
time(NULL)                              = 1169044897
time(NULL)                              = 1169044897
time(NULL)                              = 1169044897
time(NULL)                              = 1169044897
time(NULL)                              = 1169044897
alarm(30)                               = 29
time(NULL)                              = 1169044897
time(NULL)                              = 1169044897
time(NULL)                              = 1169044897
time(NULL)                              = 1169044897
stat64("/srv/vdr/.update", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
time(NULL)                              = 1169044897
gettid()                                = 2600
time(NULL)                              = 1169044898
accept(23, 0xbfc07588, [16]) = -1 EAGAIN (Resource temporarily unavailable)

over and over again. This was with vdr's pid.

And this is oprofiler output

CPU: CPU with timer interrupt, speed 0 MHz (estimated)
Profiling through timer interrupt
samples  %        image name               symbol name
9500     98.0595  anon (tgid:2600 range:0x48c000-0x48d000) (no symbols)
188       1.9405  vdr                      (no symbols)

And it is the same results after I restart vdr. The difference is that before restart vdr caused cpu load of 99,5% and after restart vdr caused cpu load of 1%. And this is because of the channel being a radio channel.

Oprofilers output is slightly different

CPU: CPU with timer interrupt, speed 0 MHz (estimated)
Profiling through timer interrupt
samples  %        image name               symbol name
9500     96.7216  anon (tgid:2600 range:0x48c000-0x48d000) (no symbols)
313       3.1867  vdr                      (no symbols)
9         0.0916  anon (tgid:4479 range:0xf5a000-0xf5b000) (no symbols)

I suspended softdevice output from the settings but it made no change. Still after reboot vdr takes all cpu time. When I changed softdevice playback setting to playing from the main menu it caused restart of vdr and cpu load dropped to normal (~60%). So suspending did not help either.

I tried also plugin option -vo shm: to see the effect and this dropped cpu load of vdr to 2%. But this is ofcourse not usable

\\Kartsa

_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to