Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1067012 - mpt3sas / LSI SAS 9300-8i write performance bottleneck
Summary: mpt3sas / LSI SAS 9300-8i write performance bottleneck
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 19
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-02-19 14:06 UTC by Heinz Mauelshagen
Modified: 2014-02-19 15:42 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-02-19 14:31:13 UTC


Attachments (Terms of Use)

Description Heinz Mauelshagen 2014-02-19 14:06:27 UTC
Description of problem:

LSI SAS 9300-8i write performance too slow
(whilst read performance is just fine).

Version-Release number of selected component (if applicable):

Kernel 3.12.9-201.fc19.x86_64


How reproducible:
Always


Steps to Reproduce:
1. attach 3 SSDs to adapter
2. create striped mapped device (e.g. using LVM)
3. dd of=/dev/$TheStripedDevice oflag=direct if=/dev/zero iflag=fullblock bs=2G count=1

Actual results:

Single threaded read performance is as expected, ie. 3 SSDs (3 * Samsung 840EVO  1TB) with per drive sustained read throughput of 540MB/s lead to ~1.6GB/s on a striped logical volume (all 3 attached to one SFF-8643 port of the HBA via a 1:4 mSAS to SAS cable).

Write performance on the same striped LV as in "Steps to Reproduce" (1 thread) maxes out at ~750MB/s as opposed to the maximum write throughput of ~490MB/s on each of the 3 SSDs written one by one

Measured:
- ~490MB/s writing (1 thread) to the individual SSDs one by one
- ~750MB/s writing (1 thread) to all 3 SSDs in parallel via the striped LV
- ~1GB/s (3 * ~340MB/s) writing (3 threads) to all 3 SSDs in parallel;
     ie. better than the striped LV write performance


Expected results:

Expecting >1.4GB/s write maximum on the striped LV written single threaded.


Additional info:
# modinfo mpt3sas
filename:       /lib/modules/3.12.9-201.fc19.x86_64/kernel/drivers/scsi/mpt3sas/mpt3sas.ko
version:        02.100.00.00
license:        GPL
description:    LSI MPT Fusion SAS 3.0 Device Driver
author:         LSI Corporation <DL-MPTFusionLinux@lsi.com>
srcversion:     FC8E3BEEAA26615A27F51C1
alias:          pci:v00001000d00000095sv*sd*bc*sc*i*
alias:          pci:v00001000d00000094sv*sd*bc*sc*i*
alias:          pci:v00001000d00000091sv*sd*bc*sc*i*
alias:          pci:v00001000d00000090sv*sd*bc*sc*i*
alias:          pci:v00001000d00000097sv*sd*bc*sc*i*
alias:          pci:v00001000d00000096sv*sd*bc*sc*i*
depends:        scsi_transport_sas,raid_class
intree:         Y
vermagic:       3.12.9-201.fc19.x86_64 SMP mod_unload 
signer:         Fedora kernel signing key
sig_key:        EE:42:35:0B:76:0C:ED:24:D6:16:92:81:FB:20:8E:24:05:25:F6:EE
sig_hashalgo:   sha256
parm:           logging_level: bits for enabling additional logging info (default=0)
parm:           max_sectors:max sectors, range 64 to 32767  default=32767 (ushort)
parm:           missing_delay: device missing delay , io missing delay (array of int)
parm:           max_lun: max lun, default=16895  (int)
parm:           diag_buffer_enable: post diag buffers (TRACE=1/SNAPSHOT=2/EXTENDED=4/default=0) (int)
parm:           disable_discovery: disable discovery  (int)
parm:           prot_mask: host protection capabilities mask, def=7  (int)
parm:           max_queue_depth: max controller queue depth  (int)
parm:           max_sgl_entries: max sg entries  (int)
parm:           msix_disable: disable msix routed interrupts (default=0) (int)
parm:           max_msix_vectors: max msix vectors - (default=8) (int)
parm:           mpt3sas_fwfault_debug: enable detection of firmware fault and halt firmware - (default=0)

Comment 1 Josh Boyer 2014-02-19 14:31:13 UTC
Please report this to the upstream kernel maintainers.  The Fedora kernel maintainers are not in a position to fix this at the moment.

Comment 2 Heinz Mauelshagen 2014-02-19 15:42:06 UTC
Filed upstream bug https://bugzilla.kernel.org/show_bug.cgi?id=70851


Note You need to log in before you can comment on or make changes to this bug.