Messages in this thread | | | Date | Wed, 14 Sep 2005 01:30:53 -0700 | From | Andrew Morton <> | Subject | Re: 2.6.13 brings buffer underruns when recording DVDs in 16x (was Re: "Read my lips: no more merges" - aka Linux 2.6.14-rc1) |
| |
Mathieu Fluhr <mfluhr@nero.com> wrote: > > According to the MMC documentation, you can thoeriticaly send at most > 65535 (16 bits int) blocks in one WRITE(10) CDB. This would means > sending a buffer of ~127 MB on case of writing a mode 1 data track (2048 > bytes per block)... > > Now, practically, it is really not safe to send more than 64 KB per CDB > (Mostly device related). And with such values, you have the following: > - at 100 Hz -> 64 KB * 100 = 6400 KB/s <=> ~4.62x DVD > - at 250 Hz -> 64 KB * 250 = 16000 KB/s <=> ~11.55x DVD > - at 1000 Hz -> 64 KB * 1000 = 64000 KB/s <=> ~46.20x DVD
But that implies that there's some piece of code somewhere (could be userspace, could be kernel) which is doing a timer-based sleep() in between each CDB. It shouldn't do that - it should be using the disk controller's completion interrupt for synchronisation.
What userspace application are you using to write the DVDs, and is it possible to test a different one?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |