Mathieu Fluhr <[email protected]> wrote:
>
> On Wed, 2005-09-14 at 01:30 -0700, Andrew Morton wrote:
> > Mathieu Fluhr <[email protected]> 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.
> >
>
> Hummm... you are definitly right. So forget my calculations. I does not
> mean anything. Honestly, I was just trying to find an explanation why it
> was working with HZ set to 1000 and not with HZ set to 250 or 100.
>
> > What userspace application are you using to write the DVDs, and is it
> > possible to test a different one?
>
> I am using NeroLINUX to make my tests. I also tried out
> cdrecord/growisofs, but I was not even able to burn at 16x (I get some
> error message that max speed is 10x... and nothing more).
>
> But there seems to be somehow some I/O limitation: I configured a pure
> 2.6.13.1 to have HZ set to 100. I then made a 3 GB compilation with
> small files (about 3 to 5 MB each).
> - If you burn this directly without creating a temp ISO image in 4x
> (5440 KB/s), you will get buffer underruns soon or later... (about 2%)
> - If you create an ISO image out of the compilation (using mkisofs or
> other tool), and then burn this image, then no buffer underruns occurs.
>
> After that, you speed up your recorder with this image (for example at
> 8x), you will have these buffer underruns back again.
> And as I tell you, no such stuff is happening when HZ is set to 1000.
>
OK, so you get underruns with NeroLINUX at 8x, and it should be possible to
test cdrecord at 8x, yes? If that works then it's time to take a look at
what NeroLINUX is doing..
erp, it's payware. strace, maybe?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|