[vdr] VDR not starting properly with softdevice on boot

Kartsa kari at kniivila.com
Wed Jan 17 17:43:04 CET 2007


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



More information about the vdr mailing list