On Monday 04 February 2008 21:46:21 Daniel Walker wrote:
> I've been using the ivtv driver for a while without many problems.
> Recently I switched my motherboard from one manufacturer (MSI) to
> another (Foxconn) .. Both motherboards have the same MCP51 chipset
> and use the same drivers, also the system is UP. The new motherboard
> has had the timeouts where the older motherboard had none.
>
> With -D 71 enabled I get the following messages,
>
> Jan 26 19:56:23 sammy ivtv1 warn: DMA ERROR 00000003 00000000
> 00000013 0 Jan 26 19:56:50 sammy ivtv0 warn: DMA ERROR 00000003
> 00000000 00000011 0 Jan 26 19:56:50 sammy ivtv0: DMA TIMEOUT 00000001
> 0
>
> The "warn" messages happen 10-15 times before the timeout.
>
> I have a PVR-500, and usually the timeouts happen when both tuners
> are being actively used, and the system has a high load. I tried
> several things including disabling all cpu frequency changes,
> disabling or crippling most of the other power management features,
> and maxing out the PCI latency timer on the card. None of which fixed
> the problem ..
>
> The only thing that I did which really helped was changing the two
> ivtv work queue threads from nice -5 to SCHED_RR prio 99 .. I also
> isolated prio 99 so the ivtv threads don't share that priority level
> with any other threads.. With that change I haven't seem any
> timeouts.. However, I think it's only a matter of time before one
> pops up.
>
> I used the following command to change the priorities,
>
> chrt -rp 99 `pgrep ivtv0`
> chrt -rp 99 `pgrep ivtv1`
>
> Changing the priorties like this takes away any variables in the
> run time of those two threads.. It means they will run immediately
> after they are woken and take priority over every other thread in the
> system..
>
> After reviewing the code for the two workqueues it doesn't look like
> anything there is that important .. Although, I'm not an ivtv expert.
> I did see that the workqueue handlers can write to the cards
> registers. I wonder if writing to those registers at the wrong times
> may be causing the timeouts .. The default priority of the workqueues
> means when they run and for how long is load dependend ..
Which ivtv/kernel version are you using?
Regards,
Hans
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel