From: Wakko Warner <wakko@animx.eu.org>
To: Tim Small <tim@buttersideup.com>
Cc: linux-scsi@vger.kernel.org
Subject: Re: Very slow throughput when using cdparanoia on two SATA CDROM drives with /dev/sr but not /dev/sg
Date: Fri, 7 Nov 2014 16:37:23 -0500 [thread overview]
Message-ID: <20141107213723.GA5088@animx.eu.org> (raw)
In-Reply-To: <545B76B2.1020906@buttersideup.com>
Tim Small wrote:
> I've got a big box of audio CDs to read, so I hooked up a load of SATA
> CDROM drives to a machine (Intel motherboard AHCI, and SATA SiI3124
> controllers - in this example one was attached to each host controller),
> so that I could read them in parallel.
>
> I'm using kernel 3.16.3, with cdparanoia 3.10.2 - both from Debian
> Jessie. https://www.xiph.org/paranoia/manual.html
>
> When two (or more) drives are read simultaneously, the performance falls
> to pieces (throughput from each drive drops by 95%) if more than one
> /dev/sr* device is being read by cdparanoia.
>
> If I tell cdparanoia to use the corresponding /dev/sg devices, then no
> significant throughput drop is experienced when reading multiple drives
> simultaneously.
I had a similar problem burning multiple DVDs at the same time. I asked
about this on the list more than 2 years ago and was pointed to a patch that
fixed it for me. It involves sr_mod. You can unload it, patch the source
and recomple. When sr_mod.ko is built, insmod that and it worked for me.
See https://lkml.org/lkml/2012/2/28/230 for the patch.
The machine I use to do this is using 3.3.0 with the patch and quite stable.
I was using 3.0.0 at the time. I haven't tested on any newer kernels.
Do a search for the thread "Burning multiple DVDs at one time".
> As an example, using these two drives:
>
> [1:0:0:0] cd/dvd TSSTcorp DVD+-RW TS-H653G DW10 /dev/sr0 /dev/sg4
> [14:0:0:0] cd/dvd PLDS DVD+-RW DH-16A6S YD11 /dev/sr9 /dev/sg16
>
>
> ... in the following results I used "time cdparanoia -v -d /dev/XXX 1
> /tmp/1.wav" - where XXX was substituted for either sr9 or sg16
>
>
> On an otherwise idle machine, I did these two sequentially:
>
> sr9: 38 seconds
>
> sg16: 38 seconds
>
> Simultaneous with: cdparanoia -d /dev/sr0 11 /tmp/11.wav (and auto
> restarted that command when it completed) I then ran these two sequentially:
>
> sr9: 680 seconds
>
> sg16: 38 seconds
>
>
>
> Simultaneous with: cdparanoia -d /dev/sg4 11 /tmp/11.wav as above:
>
> sr9: 40 seconds
>
> sg16: 40 seconds
>
>
> This is a diff of the two sets of cdparanoia -v output (using the sr
> devices vs the sg devices):
>
> --- /tmp/sr 2014-11-06 12:41:43.094867889 +0000
> +++ /tmp/sg 2014-11-06 12:42:00.463123769 +0000
> @@ -2,9 +2,9 @@
>
> Using cdda library version: 10.2
> Using paranoia library version: 10.2
> -Checking /dev/sr9 for cdrom...
> - Testing /dev/sr9 for SCSI/MMC interface
> - SG_IO device: /dev/sr9
> +Checking /dev/sg16 for cdrom...
> + Testing /dev/sg16 for SCSI/MMC interface
> + SG_IO device: /dev/sg16
>
> CDROM model sensed sensed: PLDS DVD+-RW DH-16A6S YD11
>
> @@ -13,9 +13,9 @@
>
> Checking for MMC style command set...
> Drive is MMC style
> - DMA scatter/gather table entries: 1
> + DMA scatter/gather table entries: 167
> table entry size: 131072 bytes
> - maximum theoretical transfer: 55 sectors
> + maximum theoretical transfer: 9185 sectors
> Setting default read size to 27 sectors (63504 bytes).
>
> Verifying CDDA command set...
> @@ -23,3 +23,5 @@
>
>
> I'm happy to try other kernel versions to gather more data. Which
> kernel trees/branches should I try?
>
> I'm also assuming this is more likely to be a SCSI layer bug than a SATA
> one, so let me know if that's probably wrong. Also, is reporting here
> best or bugzilla?
--
Microsoft has beaten Volkswagen's world record. Volkswagen only created 22
million bugs.
next prev parent reply other threads:[~2014-11-07 21:49 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-06 13:25 Very slow throughput when using cdparanoia on two SATA CDROM drives with /dev/sr but not /dev/sg Tim Small
2014-11-07 21:37 ` Wakko Warner [this message]
2014-11-20 6:34 ` Christoph Hellwig
2014-11-20 8:16 ` Tim Small
2014-11-21 10:02 ` Christoph Hellwig
2014-11-25 14:09 ` [PATCH 0/4] Fix performance burning or extracting audio etc. from multiple optical drives Tim Small
2014-11-25 16:26 ` Christoph Hellwig
2014-11-25 16:30 ` Jens Axboe
2014-11-25 16:32 ` Christoph Hellwig
2014-11-25 16:36 ` Jens Axboe
2014-11-26 15:33 ` Tim Small
2014-11-26 20:34 ` Tim Small
2014-11-26 23:01 ` Julian Calaby
2014-11-27 7:08 ` Tim Small
2015-11-05 1:38 ` Wakko Warner
2015-11-05 9:36 ` Tim Small
2014-11-25 14:09 ` [PATCH 1/4] enable cdrom_ioctl() to be called without holding ex-BKL mutexes Tim Small
2014-11-25 14:09 ` [PATCH 2/4] Remove ex-BKL lock from ioctl path; fix simultaneous record on >1 drive Tim Small
2014-11-25 14:09 ` [PATCH 3/4] " Tim Small
2014-11-25 14:09 ` [PATCH 4/4] " Tim Small
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141107213723.GA5088@animx.eu.org \
--to=wakko@animx.eu.org \
--cc=linux-scsi@vger.kernel.org \
--cc=tim@buttersideup.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.