From: Nick Piggin <piggin@cyberone.com.au>
To: Miquel van Smoorenburg <miquels@cistron.nl>
Cc: Jens Axboe <axboe@suse.de>, Andrew Morton <akpm@osdl.org>,
linux-lvm@sistina.com, linux-kernel@vger.kernel.org,
thornber@redhat.com
Subject: [linux-lvm] Re: IO scheduler, queue depth, nr_requests
Date: Thu Feb 19 17:52:08 2004 [thread overview]
Message-ID: <40353E30.6000105@cyberone.com.au> (raw)
In-Reply-To: <20040219205907.GE32263@drinkel.cistron.nl>
Miquel van Smoorenburg wrote:
>On Thu, 19 Feb 2004 11:19:15, Jens Axboe wrote:
>
>>On Thu, Feb 19 2004, Miquel van Smoorenburg wrote:
>>
>>
>>>>Shouldn't the controller itself be performing the insertion?
>>>>
>>>Well, you would indeed expect the 3ware hardware to be smarter than
>>>that, but in its defence, the driver doesn't set sdev->simple_tags or
>>>sdev->ordered_tags at all. It just has a large queue on the host, in
>>>hardware.
>>>
>>A too large queue. IMHO the simple and correct solution to your problem
>>is to diminish the host queue (sane solution), or bump the block layer
>>queue size (dumb solution).
>>
>
>Well, I did that. Lowering the queue size of the 3ware controller to 64
>does help a bit, but performance is still not optimal - leaving it at 254
>and increasing the nr_requests of the queue to 512 helps the most.
>
>But the patch I posted does just as well, without any tuning. I changed
>it a little though - it only has the "new" behaviour (instead of blocking
>on allocating a request, allocate it, queue it, _then_ block) for WRITEs.
>That results in the best performance I've seen, by far.
>
>
That's because you are half introducing per-process limits.
>Now the style of my patch might be ugly, but what is conceptually wrong
>with allocating the request and queueing it, then block if the queue is
>full, versus blocking on allocating the request and keeping a bio
>"stuck" for quite some time, resulting in out-of-order requests to the
>hardware ?
>
>
Conceptually? The concept that you have everything you need to
continue and yet you block anyway is wrong.
>Note that this is not an issue of '2 processes writing to 1 file', really.
>It's one process and pdflush writing the same dirty pages of the same file.
>
>
pdflush is a process though, that's all that matters.
WARNING: multiple messages have this Message-ID (diff)
From: Nick Piggin <piggin@cyberone.com.au>
To: Miquel van Smoorenburg <miquels@cistron.nl>
Cc: Jens Axboe <axboe@suse.de>, Andrew Morton <akpm@osdl.org>,
linux-lvm@sistina.com, linux-kernel@vger.kernel.org,
thornber@redhat.com
Subject: Re: IO scheduler, queue depth, nr_requests
Date: Fri, 20 Feb 2004 09:52:32 +1100 [thread overview]
Message-ID: <40353E30.6000105@cyberone.com.au> (raw)
In-Reply-To: <20040219205907.GE32263@drinkel.cistron.nl>
Miquel van Smoorenburg wrote:
>On Thu, 19 Feb 2004 11:19:15, Jens Axboe wrote:
>
>>On Thu, Feb 19 2004, Miquel van Smoorenburg wrote:
>>
>>
>>>>Shouldn't the controller itself be performing the insertion?
>>>>
>>>Well, you would indeed expect the 3ware hardware to be smarter than
>>>that, but in its defence, the driver doesn't set sdev->simple_tags or
>>>sdev->ordered_tags at all. It just has a large queue on the host, in
>>>hardware.
>>>
>>A too large queue. IMHO the simple and correct solution to your problem
>>is to diminish the host queue (sane solution), or bump the block layer
>>queue size (dumb solution).
>>
>
>Well, I did that. Lowering the queue size of the 3ware controller to 64
>does help a bit, but performance is still not optimal - leaving it at 254
>and increasing the nr_requests of the queue to 512 helps the most.
>
>But the patch I posted does just as well, without any tuning. I changed
>it a little though - it only has the "new" behaviour (instead of blocking
>on allocating a request, allocate it, queue it, _then_ block) for WRITEs.
>That results in the best performance I've seen, by far.
>
>
That's because you are half introducing per-process limits.
>Now the style of my patch might be ugly, but what is conceptually wrong
>with allocating the request and queueing it, then block if the queue is
>full, versus blocking on allocating the request and keeping a bio
>"stuck" for quite some time, resulting in out-of-order requests to the
>hardware ?
>
>
Conceptually? The concept that you have everything you need to
continue and yet you block anyway is wrong.
>Note that this is not an issue of '2 processes writing to 1 file', really.
>It's one process and pdflush writing the same dirty pages of the same file.
>
>
pdflush is a process though, that's all that matters.
next prev parent reply other threads:[~2004-02-19 22:53 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-16 9:11 [linux-lvm] IO scheduler, queue depth, nr_requests Miquel van Smoorenburg
2004-02-16 8:30 ` [linux-lvm] " Jens Axboe
2004-02-16 9:01 ` Joe Thornber
2004-02-16 19:32 ` Kevin P. Fleming
2004-02-17 1:46 ` Kevin P. Fleming
2004-02-18 10:29 ` Miquel van Smoorenburg
2004-02-18 23:52 ` Miquel van Smoorenburg
2004-02-19 8:51 ` [linux-lvm] " Miquel van Smoorenburg
2004-02-19 1:24 ` Nick Piggin
2004-02-19 8:51 ` [linux-lvm] " Nick Piggin
2004-02-19 1:52 ` Miquel van Smoorenburg
2004-02-19 9:00 ` [linux-lvm] " Miquel van Smoorenburg
2004-02-19 2:01 ` Nick Piggin
2004-02-19 9:00 ` [linux-lvm] " Nick Piggin
2004-02-19 1:26 ` Andrew Morton
2004-02-19 8:50 ` [linux-lvm] " Andrew Morton
2004-02-19 2:11 ` Miquel van Smoorenburg
2004-02-19 9:08 ` [linux-lvm] " Miquel van Smoorenburg
2004-02-19 2:26 ` Andrew Morton
2004-02-19 9:08 ` [linux-lvm] " Andrew Morton
2004-02-19 10:15 ` Miquel van Smoorenburg
2004-02-19 10:23 ` [linux-lvm] " Miquel van Smoorenburg
2004-02-19 10:19 ` Jens Axboe
2004-02-19 10:26 ` [linux-lvm] " Jens Axboe
2004-02-19 15:58 ` Miquel van Smoorenburg
2004-02-19 20:59 ` Miquel van Smoorenburg
2004-02-19 17:52 ` Nick Piggin [this message]
2004-02-19 22:52 ` Nick Piggin
2004-02-19 18:52 ` [linux-lvm] " Miquel van Smoorenburg
2004-02-19 23:53 ` Miquel van Smoorenburg
2004-02-19 19:15 ` [linux-lvm] " Nick Piggin
2004-02-20 0:15 ` Nick Piggin
2004-02-19 20:16 ` [linux-lvm] [PATCH] per process request limits (was Re: IO scheduler, queue depth, nr_requests) Nick Piggin
2004-02-20 1:12 ` Nick Piggin
2004-02-19 20:25 ` [linux-lvm] " Andrew Morton
2004-02-20 1:26 ` Andrew Morton
2004-02-19 20:40 ` [linux-lvm] " Nick Piggin
2004-02-20 1:40 ` Nick Piggin
2004-02-19 21:32 ` [linux-lvm] " Andrew Morton
2004-02-20 2:32 ` Andrew Morton
2004-02-20 14:40 ` [PATCH] bdi_congestion_funp (was: Re: [PATCH] per process request limits (was Re: IO scheduler, queue depth, nr_requests)) Miquel van Smoorenburg
2004-02-23 8:41 ` [linux-lvm] " Miquel van Smoorenburg
2004-02-20 9:56 ` [linux-lvm] " Joe Thornber
2004-02-20 14:59 ` Joe Thornber
2004-02-20 9:59 ` [linux-lvm] " Jens Axboe
2004-02-20 15:00 ` Jens Axboe
2004-02-22 14:02 ` Miquel van Smoorenburg
2004-02-23 8:45 ` [linux-lvm] " Miquel van Smoorenburg
2004-02-22 14:55 ` Andrew Morton
2004-02-22 19:55 ` Andrew Morton
2004-02-20 9:57 ` [linux-lvm] " Jens Axboe
2004-02-20 14:57 ` Jens Axboe
2004-02-24 12:54 ` [linux-lvm] Queue congestion: passing down vs passing up [PATCH] Miquel van Smoorenburg
2004-02-19 20:52 ` [linux-lvm] Re: [PATCH] per process request limits (was Re: IO scheduler, queue depth, nr_requests) Nick Piggin
2004-02-20 1:45 ` Nick Piggin
2004-02-19 2:51 ` IO scheduler, queue depth, nr_requests Nick Piggin
2004-02-19 9:11 ` [linux-lvm] " Nick Piggin
2004-02-19 10:21 ` Jens Axboe
2004-02-19 10:26 ` [linux-lvm] " Jens Axboe
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=40353E30.6000105@cyberone.com.au \
--to=piggin@cyberone.com.au \
--cc=akpm@osdl.org \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-lvm@redhat.com \
--cc=linux-lvm@sistina.com \
--cc=miquels@cistron.nl \
--cc=thornber@redhat.com \
/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.