From: Tim Small <tim@buttersideup.com>
To: linux-scsi@vger.kernel.org
Subject: Very slow throughput when using cdparanoia on two SATA CDROM drives with /dev/sr but not /dev/sg
Date: Thu, 06 Nov 2014 13:25:06 +0000 [thread overview]
Message-ID: <545B76B2.1020906@buttersideup.com> (raw)
Hello,
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.
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?
Cheers,
Tim.
next reply other threads:[~2014-11-06 13:54 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-06 13:25 Tim Small [this message]
2014-11-07 21:37 ` Very slow throughput when using cdparanoia on two SATA CDROM drives with /dev/sr but not /dev/sg Wakko Warner
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=545B76B2.1020906@buttersideup.com \
--to=tim@buttersideup.com \
--cc=linux-scsi@vger.kernel.org \
/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.