[linux-dvb] System load raises when budget_av is loaded
Oliver Endriss
o.endriss at gmx.de
Fri Aug 17 22:47:39 CEST 2007
e9hack wrote:
> 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.
Yep, this might be a problem. But it is surprising that this issue
was never detected before.
If DEBI_S ever goes high, it will never be reset.
Afaics there is no direct way to reset this bit.
(A new debi command should reset it, though.)
> Most of the debi requests are done with an spinlock held.
None of the debiread/write accesses in budget-av uses locks,
which is probably a bug. See the other thread.
> 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.
Some debiread/write calls in budget-av use busy-waiting.
For testing it might be worth to set the last parameter of the
debiread/write calls to 1 (nobusyloop).
> 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.
Could you please explain why the FF card needs this timeout?
CU
Oliver
--
----------------------------------------------------------------
VDR Remote Plugin 0.3.9: http://www.escape-edv.de/endriss/vdr/
----------------------------------------------------------------
More information about the linux-dvb
mailing list