[linux-dvb] System load raises when budget_av is loaded

e9hack e9hack at googlemail.com
Fri Aug 17 15:21:20 CEST 2007


Oliver Endriss schrieb:
> Jukka Pirinen wrote:
>> As workaround I commented out initialisation of CI interface, that's not
>> a problem because I don't have CI.
>>
>> diff budget-av.c.orig budget-av.c
>> 1175c1175
>> <        ciintf_init(budget_av);
>> ---
>>>        //ciintf_init(budget_av);
> 
> Could you please try to find out, why the CI thread is causing high
> load? You might start checking the values of ca->delay and ca->wakeup
> before wait_event_interruptible_timeout().
> 
> Sorry, I can't do this. I don't have budget-av hardware.

It may be a problem of saa7146_wait_for_debi_done(). Without a CI/CAM, every debi read/write request
ends with an error. In this case, SPCI_DEBI_S will never go low. Most of the debi requests are done
with an spinlock held. Saa7146_wait_for_debi_done() polls for 250msec the PSR. Possible, this is the
reason for the high load. Usually, saa7146_wait_for_debi_done() can bail out earlier, if SPCI_DEBI_E
is set. saa7146_wait_for_debi_done() is also used by the TT-FF cards. During the booting of the ARM,
this cards need the timeout/wait after a debi error.

- Hartmut



More information about the linux-dvb mailing list