Re: SCSI sr driver: parallel writes to optical serialized which hurts performance (sr_mutex)

From: Thomas Schmitt
Date: Sat Mar 05 2016 - 15:46:49 EST


Hi,

as developer of libburn i got several user complaints about poor
concurrent throughput. Since last year i suffer from it myself
on kernel 3.16 of Debian 8. Before i had 2.6.18 which did very well
in that aspect.

An old workaround for IDE master-slave concurrency problems brings
a certain degree of relief on some drives. See
http://libburnia-project.org/wiki/ConcurrentLinuxSr

But the much better solution would be to remove the need for the
global lock shared by all ioctl(SG_IO) to all /dev/sr*.

Given the old reports of Otto Meta about possible race conditions
with drives at the same IDE controller, and the rareness of IDE
attached drives nowadays, i propose to keep the global sr_mutex lock
for IDE attached drives.
Question is how this can be determined from the device parameters
of the calls in question:
struct block_device *bdev
struct gendisk *disk
struct scsi_cd *cd


Have a nice day :)

Thomas