All of lore.kernel.org
 help / color / mirror / Atom feed
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.


             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.