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 .. Daniel _______________________________________________ ivtv-devel mailing list [email protected] http://ivtvdriver.org/mailman/listinfo/ivtv-devel
