From: Jeff Moyer <jmoyer@redhat.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: Jens Axboe <axboe@kernel.dk>,
linux-kernel@vger.kernel.org, dmilburn@redhat.com
Subject: Re: [patch] Revert "block: remove artifical max_hw_sectors cap"
Date: Wed, 29 Jul 2015 12:52:40 -0400 [thread overview]
Message-ID: <x49k2tihpnr.fsf@segfault.boston.devel.redhat.com> (raw)
In-Reply-To: <20150721130246.GA28676@infradead.org>
[-- Attachment #1: Type: text/plain, Size: 3965 bytes --]
Christoph Hellwig <hch@infradead.org> writes:
> On Mon, Jul 20, 2015 at 03:17:07PM -0400, Jeff Moyer wrote:
>> For SAN storage, we've seen initial write and re-write performance drop
>> 25-50% across all I/O sizes. On locally attached storage, we've seen
>> regressions of 40% for all I/O types, but only for I/O sizes larger than
>> 1MB.
>
> Workload, and hardare please. An only mainline numbers, not some old
> hacked vendor kernel, please.
I've attached a simple fio config that reproduces the problem. It just
does sequential, O_DIRECT write I/O with I/O sizes of 1M, 2M and 4M. So
far I've tested it on an HP HSV400 and an IBM XIV SAN array connected
via a qlogic adapter, a nearline sata driveand a WD Red (NAS) sata disk
connected via an intel ich9r sata controller. The kernel I tested was
4.2.0-rc3, and the testing was done across 3 different hosts (just
because I don't have all the hardware connected to a single box). I did
10 runs using max_sectors_kb set to 1024, and 10 runs with it set to
32767. Results compare the averages of those 10 runs. In no cases did
I see a performance gain. In two cases, there is a performance hit.
In addition to my testing, our performance teams have seen performance
regressions running iozone on fibre channel-attached HP MSA1000 storage,
as well as on an SSD hidden behind a megaraid controller. I was not
able to get the exact details on the SSD. iozone configurations can be
provided, but I think I've nailed the underlying problem with this test
case.
But, don't take my word for it. Run the fio script on your own
hardware. All you have to do is echo a couple of values into
/sys/block/sdX/queue/max_sectors_kb to test, no kernel rebuilding
required.
In the tables below, concentrate on the BW/IOPS numbers under the WRITE
column. Negative numbers indicate that max_sectors_kb of 32767 shows a
performance regression of the indicated percentage when compared with a
setting of 1024.
Christoph, did you have some hardware where a higher max_sectors_kb
improved performance?
Cheers,
Jeff
Vendor identification: HP
Product identification: HSV400
%diff
READ WRITE CPU
Job Name BW IOPS msec BW IOPS msec usr sys csw
1M 0 0 0 0 0 0 0.00 0.00 0.00
2M 0 0 0 -14 -14 16 -15.75 -15.73 0.00
4M 0 0 0 -17 -17 20 -21.20 -16.23 0.00
Vendor identification: IBM
Product identification: 2810XIV
%diff
READ WRITE CPU
Job Name BW IOPS msec BW IOPS msec usr sys csw
1M 0 0 0 0 0 0 0.00 23.12 0.00
2M 0 0 0 0 0 0 -10.18 0.00 0.00
4M 0 0 0 0 0 0 -6.08 0.00 0.00
Vendor identification: ATA
Product identification: WDC WD5001FXYZ-0
%diff
READ WRITE CPU
Job Name BW IOPS msec BW IOPS msec usr sys csw
1M 0 0 0 0 0 0 0.00 0.00 0.00
2M 0 0 0 0 0 0 0.00 0.00 0.00
4M 0 0 0 -30 -30 51 -57.32 -38.11 0.00
Vendor identification: ATA
Product identification: WDC WD10EFRX-68P
%diff
READ WRITE CPU
Job Name BW IOPS msec BW IOPS msec usr sys csw
1M 0 0 0 0 0 0 -23.73 6.82 0.00
2M 0 0 0 0 0 0 27.16 -7.91 0.00
4M 0 0 0 0 0 0 0.00 0.00 0.00
[-- Attachment #2: seqwrite.fio --]
[-- Type: text/plain, Size: 158 bytes --]
[global]
ioengine=sync
direct=1
filename=/dev/DEVNAME
size=1G
rw=write
[1M]
stonewall
blocksize=1M
[2M]
stonewall
blocksize=2M
[4M]
stonewall
blocksize=4M
next prev parent reply other threads:[~2015-07-29 16:52 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-20 19:17 Jeff Moyer
2015-07-20 20:24 ` Jens Axboe
2015-07-20 20:44 ` Jeff Moyer
2015-07-21 13:02 ` Christoph Hellwig
2015-07-29 16:52 ` Jeff Moyer [this message]
2015-07-30 0:25 ` Elliott, Robert (Server Storage)
2015-07-30 14:03 ` Jeff Moyer
2015-07-30 13:51 ` Christoph Hellwig
2015-07-30 14:08 ` Jeff Moyer
2015-08-10 17:23 ` Jeff Moyer
2015-08-11 14:28 ` Christoph Hellwig
2015-07-20 19:17 Jeff Moyer
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=x49k2tihpnr.fsf@segfault.boston.devel.redhat.com \
--to=jmoyer@redhat.com \
--cc=axboe@kernel.dk \
--cc=dmilburn@redhat.com \
--cc=hch@infradead.org \
--cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®