Matthias Dahl wrote: > On Saturday 14 October 2006 16:27, Matthias Dahl wrote: > > I own a KNC ONE DVB Plus with a Cineview module (Alphacrypt Light). From > > the beginning I ran into data corruption problems with the mpeg stream as > > soon as I made the usual X <-> VT switch or put some load on the Athlon64 > > 3500+ machine with its RAID 5 (3 SATA disks). > > > > After some looking around, I soon discovered it was related to a buffer > > underrun because the following showed up in my logs every time a corruption > > occurred: > > > > saa7146 (0) vpeirq: used 1 times >80% of buffer (65612 bytes now) > > > > I searched the mailing list archives and learned this problem had been > > reported earlier and that I should increase the DMA buffer size- which I > > did. Running now at the maximum of 1410kb, things have pretty much been > > fixed. I can put load on the machine, do random X <-> VT switches and > > everything works most of the time. But there still is the occasional > > underrun even though the machine is not under load. > ... Sorry, I have no real solution. Iirc those problems happen with SATA systems only. A DMA buffer overflow occurres if the VPE tasklet is not executed within a reasonable time frame. Even on a slow machine you should never see this message with default buffer size. (I'm using a PIII-800 and I can run KDE, compile kernels etc. while recording and/or watching TV with vdr.) > I know its bad practice to reply to oneself, nevertheless I wanted to add more > information to this: having just switched over to 2.6.19rc2, the problem has > gotten worse. Now every single X <-> VT switch results in a... > > saa7146 (0) vpeirq: used 1 times >80% of buffer (65612 bytes now) > > ... msg. Sometimes I get corruptions in the mpeg stream because of this and > sometimes it's just fine. Even during normal playback of a stream, those msgs > appear without any load on the machine. (with 2.6.19rc2 that is) Please verify that your DVB card does not share interrupts with the SATA controller. Check your kernel configuration. Setting - preemptible kernel - system timer speed HZ=1000 might help a little bit. You might also try the CFQ I/O scheduler. You could replace "tasklet_schedule" by "tasklet_hi_schedule" in budget-core.c. This would give VPE processing a higher priority. Oliver -- -------------------------------------------------------- VDR Remote Plugin 0.3.8 available at http://www.escape-edv.de/endriss/vdr/ -------------------------------------------------------- _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb