[linux-dvb] Re: SAA7146 DMA buffer overflow
Johannes Stezenbach
js at linuxtv.org
Sun Feb 19 12:55:34 CET 2006
Please don't top-post :-(
On Sun, Feb 19, 2006, Ingo Schneider wrote:
> That's why I'm making sure that the buffer width is a multiple of 376
> and the buffer height is a multiple of 256.
> Without that, I got corrupted data !
>
> I tried some different widths (376, 752, 3760, but only 376, 752 are
> used with that algorithm)
> and some heights (1024, 1280, 2048, 2816, 3840) and with that it always
> worked (for my cards, off course).
> DMA buffer bigger than 4 MB doesn't work - and it also makes no sense to
> use more buffer than needed under high load.
>
> In the "refactored patch" with the recommendations of Oliver I keep the
> buffer size as it was before (because it's untested for other card types),
> and only change the buffer layout if module parameter is set, so there
> should be no new problems with that.
> With the buffer warnings we'll see if other people have problems with a
> too small buffer, too.
>
> With a buffer size of 470k (376x1280) I now get a perfect TS stream
> (good data, no TS continuity problems),
> even under very high I/O load conditions.
>
> Now the best thing to do is to integrate it and see if I'm the only one
> having problems with too small DMA buffer.
Your patch still has a few minor style issue, see my other mail.
And please include a shorter version of the above in the
patch description, "increase buffersize" is insufficient.
I still think it is some other driver which is buggy and
screws up irq latency on your machine, however I agree
that it's difficult to find out (that's why I suggested
the -rt kernel to you, it has patches to address latency
problems, and it has tools to debug them).
Johannes
More information about the linux-dvb
mailing list