Hans Verkuil wrote: > Hi all, > > I would appreciate it if people could start testing the latest ivtv on > the 0.10 branch, available here: > > http://ivtvdriver.org/viewcvs/ivtv/branches/0.10.tar.gz?view=tar > > The current driver has a problem with copying data from the MPEG card to > memory that are done using PIO instead of DMA (for good reasons). > Unfortunately PIO accesses are slow, so too much time is spent inside > the interrupt handler. This can lead to missing clock ticks and > problems with remotes (key hits that are missed). > > The patch I've committed moves these PIO copies to a separate handler > outside the interrupt handler, so this should solve these problems. > > However, I did not have much time to test it thoroughly, so I'd very > much appreciate it if people could start testing this and report > whether or not any new problems were introduced. > > This patch is also queued for the 2.6.22 kernel, by the way. > > If this change solves the problems that I've mentioned above, then I'll > make a new 0.10.3 release in two weeks time. > > Thanks, > > Hans > > Hans,
I've been putting the new driver through some stress tests. Things look pretty good. There does appear to still be a 'clock drift' issue - thought I'm not sure if it's the driver, my hardware, or some combination of both, or something else all together. I first ran a 1 hour test via myth on all three pvr inputs (pvr-150 and pvr-500). For the first hour, I only got 2 or 3 DMA errors, I then ran a 1 hour cat /dev/videoN > file and got DMA errors more frequently. Finally, ran another test via myth but, started running adjtimex -a shortly after the start of the test, and never got a DMA error. See below for an edited messages output.. A 4 recorder test (3 IVTV devices and a HDHR), did produce more DMA errors - this leads me to believe I just need to tweak the latency of either the disk subsystem or the pvr500 (it seems ivtv1 and ivtv2 are the only devices that generate the DMA errors and these equate to the two tuners on the 500). Given this, if I run adjtimex, I seem to have a pretty stable system now....THANKS!! << start of 3 recordings w/ Myth >> May 20 08:04:24 mythtvserver1 kernel: ivtv2 warning: ENC DMA ERROR b May 20 08:04:24 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 0 -> 128 May 20 08:04:24 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 0 -> 128 May 20 08:04:24 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 128 -> 64 May 20 08:04:24 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 128 -> 64 May 20 08:04:24 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 64 -> 0 May 20 08:04:24 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 64 -> 0 May 20 08:06:34 mythtvserver1 kernel: ivtv2 warning: ENC DMA ERROR b May 20 08:06:34 mythtvserver1 kernel: ivtv2 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 08:06:34 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 0 -> 128 May 20 08:06:34 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 0 -> 128 May 20 08:06:34 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 128 -> 64 May 20 08:06:34 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 128 -> 64 May 20 08:06:34 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 64 -> 0 May 20 08:06:35 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 64 -> 0 May 20 08:57:06 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 08:57:06 mythtvserver1 kernel: ivtv1 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 08:57:06 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 0 -> 128 May 20 08:57:06 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 0 -> 88 May 20 08:57:06 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 80 May 20 08:57:06 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 88 -> 80 May 20 08:57:06 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 80 -> 16 May 20 08:57:06 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 80 -> 16 << End of three recodings w/ Myth> << Start of 3 cat's at 09:00>> May 20 09:21:51 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:21:51 mythtvserver1 kernel: ivtv1 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:21:51 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 16 -> 128 May 20 09:21:51 mythtvserver1 kernel: ivtv1 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:21:51 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 0 May 20 09:21:51 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 16 -> 0 May 20 09:22:34 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:22:34 mythtvserver1 kernel: ivtv1 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:22:34 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 0 -> 128 May 20 09:22:34 mythtvserver1 kernel: ivtv1 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:22:34 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 0 May 20 09:22:55 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:22:55 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 0 -> 128 May 20 09:22:55 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 0 -> 128 May 20 09:22:55 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 0 May 20 09:22:55 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 128 -> 0 May 20 09:23:02 mythtvserver1 kernel: ivtv2 warning: ENC DMA ERROR b May 20 09:23:02 mythtvserver1 kernel: ivtv2 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:23:02 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 0 -> 128 May 20 09:23:02 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 0 -> 128 May 20 09:23:02 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 128 -> 0 May 20 09:23:02 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 128 -> 0 May 20 09:23:37 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:23:37 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 0 -> 128 May 20 09:23:37 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 0 -> 124 May 20 09:23:37 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 60 May 20 09:23:37 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 124 -> 60 May 20 09:23:46 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:23:46 mythtvserver1 kernel: ivtv1 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:23:47 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 60 -> 128 May 20 09:23:47 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 60 -> 124 May 20 09:23:47 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 60 May 20 09:23:47 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 124 -> 60 May 20 09:24:31 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:24:31 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 60 -> 128 May 20 09:24:31 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 60 -> 128 May 20 09:24:31 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 0 May 20 09:24:31 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 128 -> 0 May 20 09:24:40 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:24:40 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 0 -> 128 May 20 09:24:40 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 0 -> 124 May 20 09:24:40 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 48 May 20 09:24:40 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 124 -> 48 May 20 09:26:30 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:26:30 mythtvserver1 kernel: ivtv1 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:26:30 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 48 -> 128 May 20 09:26:30 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 48 -> 124 May 20 09:26:30 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 36 May 20 09:26:30 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 124 -> 36 May 20 09:26:52 mythtvserver1 kernel: ivtv2 warning: ENC DMA ERROR b May 20 09:26:52 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 0 -> 128 May 20 09:26:52 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 0 -> 128 May 20 09:26:52 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 128 -> 64 May 20 09:26:52 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 128 -> 64 May 20 09:26:52 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 64 -> 0 May 20 09:26:52 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 64 -> 0 May 20 09:27:25 mythtvserver1 kernel: ivtv2 warning: ENC DMA ERROR b May 20 09:27:25 mythtvserver1 kernel: ivtv2 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:27:25 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 0 -> 128 May 20 09:27:25 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 128 -> 100 May 20 09:27:25 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 0 -> 100 May 20 09:27:25 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 100 -> 36 May 20 09:27:25 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 100 -> 36 May 20 09:29:35 mythtvserver1 kernel: ivtv2 warning: ENC DMA ERROR b May 20 09:29:35 mythtvserver1 kernel: ivtv2 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:29:35 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 36 -> 128 May 20 09:29:35 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 128 -> 0 May 20 09:29:35 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 36 -> 0 May 20 09:31:25 mythtvserver1 kernel: ivtv2 warning: ENC DMA ERROR b May 20 09:31:25 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 0 -> 128 May 20 09:31:25 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 128 -> 72 May 20 09:31:25 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 0 -> 72 May 20 09:31:25 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 72 -> 8 May 20 09:31:25 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 72 -> 8 May 20 09:36:38 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:36:38 mythtvserver1 kernel: ivtv1 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:36:38 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 36 -> 128 May 20 09:36:38 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 112 May 20 09:36:38 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 36 -> 112 May 20 09:36:38 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 112 -> 48 May 20 09:36:38 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 112 -> 48 May 20 09:36:39 mythtvserver1 kernel: ivtv2 warning: ENC DMA ERROR b May 20 09:36:39 mythtvserver1 kernel: ivtv2 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:36:39 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 8 -> 128 May 20 09:36:39 mythtvserver1 kernel: ivtv2 warning: encoder MPEG: offset 128 -> 0 May 20 09:36:39 mythtvserver1 kernel: ivtv2 warning: encoder VBI: offset 8 -> 0 May 20 09:40:15 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:40:15 mythtvserver1 kernel: ivtv1 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:40:15 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 48 -> 128 May 20 09:40:15 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 48 -> 84 May 20 09:40:15 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 20 May 20 09:40:15 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 84 -> 20 May 20 09:51:23 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:51:23 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 20 -> 128 May 20 09:51:23 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 20 -> 112 May 20 09:51:23 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 48 May 20 09:51:23 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 112 -> 48 May 20 09:53:43 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:53:43 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 48 -> 128 May 20 09:53:43 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 0 May 20 09:53:43 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 48 -> 0 May 20 09:56:12 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 09:56:12 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 0 -> 128 May 20 09:56:12 mythtvserver1 kernel: ivtv1 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 09:56:12 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 0 << End of three cats >> << Start of 3 recordings w/ Myth>> May 20 10:04:59 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 10:04:59 mythtvserver1 kernel: ivtv1 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 10:04:59 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 0 -> 128 May 20 10:04:59 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 0 May 20 10:05:59 mythtvserver1 kernel: ivtv1 warning: ENC DMA ERROR b May 20 10:05:59 mythtvserver1 kernel: ivtv1 warning: encoder VBI: Couldn't find start of buffer within the first 256 bytes May 20 10:05:59 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 0 -> 128 May 20 10:05:59 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 0 -> 124 May 20 10:05:59 mythtvserver1 kernel: ivtv1 warning: encoder MPEG: offset 128 -> 60 May 20 10:05:59 mythtvserver1 kernel: ivtv1 warning: encoder VBI: offset 124 -> 60 ->>>> Started running adjtimex -a every 2 minutes May 20 10:13:42 mythtvserver1 ntpd[2545]: time reset +0.893229 s May 20 10:18:17 mythtvserver1 ntpd[2545]: synchronized to 193.120.142.71, stratum 1 May 20 10:33:17 mythtvserver1 ntpd[2545]: time reset +0.373788 s << no errors till end of recording at 11:00>> _______________________________________________ ivtv-users mailing list [email protected] http://ivtvdriver.org/mailman/listinfo/ivtv-users
